Задать вопрос
ArtDenis
@ArtDenis
Разработчик сайтов и мобильных приложений

Проверка пароля регулярным выражением?

Здравствуйте, не могу найти подходящего ответа. Сам в этом ничего не понимаю и на данный момент нет времени разбираться.

Единственное что нашел:
preg_match('A(?=[-_a-zA-Z0-9]*?[A-Z])(?=[-_a-zA-Z0-9]*?[a-z])(?=[-_a-zA-Z0-9]*?[0-9])[-_a-zA-Z0-9]{6,}z', $pass)


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


В принципе, по требованиям походит, но не работает и выдает Warning: preg_match(): Delimiter must not be alphanumeric or backslash

Для меня было бы идеально:
1) Только латинские буквы, цифры и символы: !?#_- (либо можно вообще любые символы разрешить?)
2) Обязательное присутствие букв латинского алфавита в верхнем и нижнем регистре, а также цифр.

Заранее спасибо за ответ.
  • Вопрос задан
  • 4913 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
dmeroff
@dmeroff
Вы меня, конечно, извините, но зачем ограничивать пользователя в выборе пароля? Зачем ограничивать длину пароля сверху? Зачем вырезать спецсимволы из его пароля, если он все равно будет хэширован (вы ведь хэшируете пароль, а не храните его plain текстом?)? Просто ограничьте минимальную длину пароля символами шестью.

P.S. И вообще как же меня выводят из себя всякие ограничения для пароля, типа: введите одну цифру, одну букву, одну букву в верхнем регистре, один спецсимвол, один китайский иероглиф. Для людей, которые делают такие формы, в аду, наверное, есть отдельный котел.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы