PHP: Простые регулярные выражения для соответствия длине?
Я создаю систему регистрации, которая должна проверять имя/пропуск и т.д. с 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) ....
Как мне повлиять на проверку длины в моих двух исходных выражениях регулярных выражений? Это сделало бы меня такой счастливой..
Ответы
Ответ 1
но с использованием \w и\d для слова и цифр, но вы можете также включить основные символы, такие как %!?/ ... etc...
preg_match('/^[\w\d]{4,30}$/',$psword);
{n,v}
будет проверять минимальные n и максимальные v элементов раньше.
как A{2,3}
будет проверяться на AA
и AAA
. вы можете посмотреть там для получения дополнительных ссылок
Таким же образом, если вы хотите установить минимальный размер patern {n}
, он сделает это.
Ответ 2
Я думаю, что это должно сделать трюк:
preg_match ( '/^ [A-Za-Z0-9] {4,30} $/', $psword);