title: Regex for checking that at least 3 of 4 different character groups exist
body: <p>I'm trying to write a password validator.</p>
  
  <p>How can I see if my supplied string contains at least 3 different character groups?</p>
  
  <p>It's easy enough to check if they are existant or not ---but at least 3?</p>
  
  <ul>
  <li><p>at least eight (8) characters</p></li>
  <li><p>At least three different character groups</p>
  
  <p>upper-case letter</p>
  
  <p>lower-case letter</p>
  
  <p>numeric</p>
  
  <p>special characters !@#$%&amp;/=?_.,:;-\</p></li>
  </ul>
  
  <p>(I'm using javascript for regex)</p>