On Mon, Feb 17, 2003 at 07:40:46PM -0000, Matt Groves wrote:
> 
> Hello,
> 
> I'm looking for the shortest, cleverest possible solution to this.  When
> changing a password, I need a RegExp which will ensure the following
> criteria :
> 
> 1. It must be at least 6 characters
> 
> 2. It must contain at least one lower case letter [a-z]
> 
> 3. It must contain at least one upper case letter [A-Z]
> 
> 4. It must contain at least one number [0-9]
> 
> 5. Optionally, it can cover for accepted non-alphanumeric chars such as
> "_", "-" etc (but not "#"), and a maximum password length of 14
> characters

I'm not going to claim this is the shortest solution, but this
is very straightforward (and untested):

    /^(?=.{6})        # At least 6 characters long.
      (?=.*[a-z])     # Contains a lowercase letter.
      (?=.*[A-Z])     # Contains an uppercase letter.
      (?=.*[0-9])     # Contains a digit.
      (?=.*[-_])      # Contains a dash or an underscore.
      (?!.{15})       # Doesn't contain 15 characters.
    /xs;

It's easy to add more requirements.


Abigail

Reply via email to