Hi Bill,
I've reworked your original expression; the most evident error is the
abuse of the [class]{n,m} pattern, which tries to match n consecutive
(that is: not randomly placed) instances of any of the characters of the
class.
Here's what I come up with:
(?=.*[A-Z]+.*[A-Z]+) # At least 2 uppercase characters
(?=.*[a-z]+.*[a-z]+) # At least 2 lowercase characters
(?=.*[0-9]+.*[0-9]+) # At least 2 digits
([EMAIL PROTECTED]&\*_\-+=':;,[EMAIL PROTECTED]&\*_\-+=':;,\.]+) # At least 2
special characters
^.{10,25}$ # 10 to 25 characters
As you could see, I've also overworked the last expression to get back
its capture (instead of adding another .*$ expression just to achieve
the same result).
Hope this helps.
--
Efran Cobisi
http://www.cobisi.com
Bill Bassler wrote:
I've been looking at the use of both client side RegularExpression
validators and for the server overriding OnValidatingPassword Membership
provider method to ensure adherence to a strong password format consisting
of:
-10-25 Characters.
Two or more of the special characters ! @ # $ % ^ & * _ - +
= ' : ; , .
-Two or more Uppercase Letters
-Two or more Lowercase Letters
-Two or more Numbers.
This is what I have so far (?=^.{10,})(?=.*[A-Z]{2,})(?=.*[a-z]{2,})(?=.*
[0-9]{2,})(?=(.*\W){1,})(?!.*\s).*$
The main issue I'm having are the requirements for 2 or more of a type of
character for a match. The use of quantifiers {2,} appear to only match 2
successive character types, for example uppercase characters. MU46_!28gs
is a match but not Mu46_28Gs! is not. However, both should be valid
matches.
===================================
This list is hosted by DevelopMentor® http://www.develop.com
View archives and manage your subscription(s) at http://discuss.develop.com
===================================
This list is hosted by DevelopMentor® http://www.develop.com
View archives and manage your subscription(s) at http://discuss.develop.com