Abigail <[EMAIL PROTECTED]> writes:
> 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;
I don't see that the /s is necessary. Can a password really contain a
newline?
Additionally, I used to like to put a backspace in my passwords.
It's legal for the same reason you've probably excluded the "#".
Would it be an "accepted non-alphanumeric char"?
--
Michael R. Wolf
All mammals learn by playing!
[EMAIL PROTECTED]