Помогите составить валидацию пароля

Статус
В этой теме нельзя размещать новые ответы.

funnywheel

PHP & JS
Регистрация
6 Авг 2010
Сообщения
255
Реакции
219
Регвыр должен соответствовать условиям:
  1. длина пароля >= 8 символов
  2. разрешенные символы - русские и английские буквы в верхнем и нижнем регистрах, цифры, точка, запятая, дефис, нижнее подчеркивание
  3. в пароле должны быть минимум 1 цифра 1 заглавная и 1 строчная буквы
Можно-ли составить одну регулярку под эти условия?

PS: если считаете, что это не самые удачные/безопасные условия - посоветуйте условия проверки. Желательно сразу с регэкспом =)
 
Код:
^(?:[a-z]()|[A-Z]()|\d()|[-,._]){8,}\1\2\3$
Для просмотра ссылки Войди или Зарегистрируйся
А под какой диалект регулярных выражений это всё нужно?
В Python, Ruby, Perl, PHP, .NET есть особенность поведения обратных ссылок.
В выражении можно использовать пустые сохраняющие группы после каждого обязательного слова.
Так как попытка сопоставления с обратной ссылкой будет терпеть неудачу, если соответствующая ей сохраняющая группа еще не участвовала в сопоставлении.
В JavaScript свои правила и этот трюк не работает.
Тогда можно сделать серию опережающих проверок.
Код:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[-,._a-zA-Z\d]{8,}$
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:
А под какой диалект регулярных выражений это всё нужно?
да, забыл уточнить, PHP

В выражении можно использовать пустые сохраняющие группы после каждого обязательного слова.
Так как попытка сопоставления с обратной ссылкой будет терпеть неудачу, если соответствующая ей сохраняющая группа еще не участвовала в сопоставлении.
увы, половина информации мне непонятна в посте =) я думаю, если-бы понимал его, не стал-бы задавать (скорее всего) глупые вопросы =)
спасибо за регулярку, буду сейчас тестить.

UPD: да, вроде-бы все ок, спасибо большое. правда там русские буквы забыли указать, но с этим я справился =)
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху