我正在创建一个注册系统,该系统需要使用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}可以验证AAAAA。您可以看看there以获取更多引用

如果您只想设置patern {n,}的最小值,则采用相同的方式。例如:
preg_match('/^[\w\d]{4,}$/',$psword);

10-04 21:12