Страницы

Поиск по вопросам

понедельник, 15 июля 2019 г.

Проверка логина preg_match

Требуется регулярное выражение проверки по логину.
Допускается использовать только латинские буквы, цифры, "-", "_" (черту и подчеркивание). Минимальное количество лат. букв - 4, максимальное количество цифр - 4, подчеркиваний и черточек - 4.
Моя изначальная строка:
if( preg_match( "/[\||\'|\<|\>|\[|\]|\"|\!|\?|\$|\@|\#|\/|\\\|\&\~\*\{\+]/", $name ) ) $stop .= $lang['reg_err_4'];
Как можно ее поправить, чтобы соблюсти все условия?


Ответ

вы можете дополнительно ввести ограничение на количество символов, например, от 6 до 12
/([A-Za-z\d\-_]){6,12}/
чтобы нельзя было два подчеркивания подряд
^([A-Za-z\d\-]|_(?!_)){6,12}$
чтобы нельзя было два подчеркивания или минуса подряд
^([A-Za-z\d]|_(?!_)|\-(?!\-)){6,12}$

Комментариев нет:

Отправить комментарий