title: Regex expression for complex password setting angular 8
body: <p>I tried this expression - </p>
  
  <pre><code>^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&amp;*-]).{8,}$
  </code></pre>
  
  <p>This regex will enforce these rules:</p>
  
  <p>At least one upper case English letter, <code>(?=.*?[A-Z])</code></p>
  
  <p>At least one lower case English letter, <code>(?=.*?[a-z])</code></p>
  
  <p>At least one digit, <code>(?=.*?[0-9])</code></p>
  
  <p>At least one special character, <code>(?=.*?[#?!@$%^&amp;*-])</code></p>
  
  <p>Minimum eight in length <code>.{8,}</code> (with the anchors)</p>
  
  <p>How will be the regular expression for below requirement.</p>
  
  <ul>
  <li>Passwords that are 13 characters or longer only require lower case
  letters</li>
  <li>Passwords must contain at least 8 characters</li>
  <li>Passwords between 8 and 13 characters require at least 3 of the
  following 4 categories of characters:     
  
  <ul>
  <li>Uppercase letters </li>
  <li>Lowercase letters</li>
  <li>Numbers</li>
  <li>Symbols</li>
  </ul></li>
  </ul>