2013-11-20 2 views
1

Pls поможет мне с регулярным выражением. У меня есть метод проверки пароля с помощью регулярного выражения:Password validator javascript регулярное выражение

/^(?=.*[0-9])(?=.*[[email protected]#$%^&*])[[email protected]#$%^&*]{6,12}$/; 

Мне нужно добавить к этому условию, что пароль должен содержать 2 заглавных буквы.

Thx за помощью!

+1

Поиск является вашим другом. См. [Регулярное выражение для строки, которая должна содержать минимум 14 символов, где минимум 2 - числа, а минимум 6 - буквы] (http://stackoverflow.com/a/5527428/433790) – ridgerunner

ответ

0

Это действительно некрасиво способ проверки синтаксиса пароля. Ваш код будет намного легче читать и отлаживать, если вы разделите свои чеки на несколько шагов.

Например:

/* Check for at least 2 capital letters */ 
if (!(/[A-Z][^A-Z]*[A-Z]/.test(password))) { 
    alert("Your password must contain at least two capital letters"); 
    return false; 
} 
/* Check for at least 2 lower case letters */ 
if (!(/[a-z][^a-z]*[a-z]/.test(password))) { 
    alert("Your password must contain at least two lower case letters"); 
    return false; 
} 
/* Check for at least one digit */ 
if (!(/[0-9]/.test(password))) { 
    alert("Your password must contain at least one digit"); 
    return false; 
} 
... etc ... 
Смежные вопросы