PHP:简单的正则表达式匹配长度?

oni*_*kun 11 php regex numbers preg-match

我正在创建一个注册系统,需要用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);
Run Code Online (Sandbox Code Playgroud)

但我必须在IF语句中做愚蠢的事情,例如:

if strlen($psword) > 30 || if (strlen($psword) < 4) ....

我如何在我的两个原始正则表达式语句中强调长度检查?这会让我很开心..

Rag*_*geZ 18

相同但使用\ w和\ d表示单词和数字,但您可能还需要包含基本符号 %!?/ ... etc...

preg_match('/^[\w\d]{4,30}$/',$psword);
Run Code Online (Sandbox Code Playgroud)

{n,v}将验证最小n和前最大V族元素.

就像A{2,3}验证AAAAA.您可以在那里查看更多参考资料

以同样的方式,如果你只想设置patern的最小值{n,}就可以了.例如:

preg_match('/^[\w\d]{4,}$/',$psword);
Run Code Online (Sandbox Code Playgroud)


dch*_*rov 5

我认为这应该可以解决问题:

preg_match('/^[a-zA-Z0-9]{4,30}$/',$psword);