asp.net 4.0 normalExpressionValidator
Мне нужно изменить код моего regularexpressionvalidator, чтобы пользователь соблюдал следующие требования к паролю:
а. Содержит как минимум 2 заглавных буквы: A, B, C
и т.п.
б. Содержит как минимум 2 строчных символа: a, b, c,
и т.п.
с. Содержит как минимум 2 номера: 1,2,3,4,5,6,7,8,9,0
д. Содержит как минимум 2 специальных символа, т.е.
! @ # $ % ^ & * ( ) _ + | ~ - = \ ` { } [ ] : " ; ' < > ? , . /
Текущий код требует только 10-значный пароль:
<asp:RegularExpressionValidator ID="valPassword"
runat="server" ControlToValidate="txtPassword"
ErrorMessage="Error: 10 character required password length"
ValidationExpression=".{10}.*" />
1 ответ
Решение
Вы можете использовать это регулярное выражение
^(?=^.{10}$)(?=^(.*?[A-Z]){2,}.*?$)(?=^(.*?[a-z]){2,}.*?$)(?=^(.*?\d){2,}.*?$)(?=^(.*?[!@#$%^&]){2,}.*?$).*?$
-------- --------------------- --------------------- ------------------- --------------------------
| | | | |->checks for 2 or more special characters
| | | |->checks for 2 or more digits
| | |->checks for 2 or more small letters
| |->checks for 2 or more capital words
|
|->checks for 10 words..