PHP:Простые регулярные выражения для соответствия длине?
-
19-09-2019 - |
Вопрос
Я создаю систему регистрации, которая должна проверять имя/пароль и т. д.с REGEX (и предпочитаю), на данный момент у меня есть:
//Check so numbers aren't first, such as 00foobar
preg_match('/^(?!\d)[a-z0-9]+$/iD',$usrname);
//Just simple check
preg_match('/^[a-zA-Z0-9]+$/',$psword);
Но мне приходится делать глупости в операторах IF, например:
if strlen($psword) > 30 || if (strlen($psword) < 4) ....
Как бы я реализовал проверку длины в двух исходных выражениях регулярного выражения?Это меня бы очень порадовало..
Решение
то же самое, но с использованием \w и \d для слов и цифр, но вы также можете включить базовые символы, такие как %!?/ ... etc...
preg_match('/^[\w\d]{4,30}$/',$psword);
тот {n,v}
раньше проверял минимальное количество n и максимальное v элементов.
нравиться A{2,3}
бы утвердить для AA
и AAA
.ты можешь взглянуть там для получения дополнительных ссылок
Таким же образом, если вы хотите установить только минимальный патерн {n,}
сделал бы это.Например:
preg_match('/^[\w\d]{4,}$/',$psword);
Другие советы
Я думаю, что это должно помочь:
preg_match('/^[a-zA-Z0-9]{4,30}$/',$psword);