2013-06-08 4 views
1

Я пытаюсь разработать регулярное выражение для проверки пароля, который должен соответствовать следующим критериямRegex выражения для проверки пароля

  • должен иметь по крайней мере один Прописные буквы,
  • должен иметь по крайней мере одну строчную буквы ,
  • должны иметь по крайней мере один специальный символ,
  • должен иметь по крайней мере одну цифру,
  • должен быть минимум 6 символов.

Я разработал выражение для этого:

password_pattern=/^(?=.*[0-9]) (?=.*[[email protected]#$%^&*]) (?=.*[a-z]) (?=.*[A-Z]) {6} $/ 

Однако она не работает, как я предполагал. Что я ошибаюсь?

Я новичок в регулярных выражениях, поэтому буду благодарен за объяснение, а не за «использование этого» ответа, поясните.

+2

НЕ ограничивать то, что пароль люди могут использовать. [link] (http://xkcd.com/936/) –

+0

хорошо, он дает ему нижний предел, который на самом деле является довольно разумным – blue

ответ

1

Вы пропускаете одну точку перед {6}, и вы добавили пробелы, которые вы не должны:

password_pattern=/^(?=.*[0-9])(?=.*[[email protected]#$%^&*])(?=.*[a-z])(?=.*[A-Z]).{6}$/ 
Смежные вопросы