PHP: Simple regular expressions to match length?

拜拜、爱过 提交于 2020-01-02 01:02:33

问题


I'm creating a registration system that needs to check the name/pass etc. with REGEX (and prefer to), what I've got so far is:

//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);

But I have to do stupid things in IF statements like:

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

How would I impliment the length checking in my two original regular expression statements? This would make me so happy..


回答1:


same but using the \w and \d for word and digits, but you might want also to include basic symbols like %!?/ ... etc...

preg_match('/^[\w\d]{4,30}$/',$psword);

the {n,v} would validate for minimum n and maximum v elements before.

like A{2,3} would validate for AA and AAA. you can take a look there for more references

On the same fashion if you want only to set the minimum of patern {n,} would do it. For example:

preg_match('/^[\w\d]{4,}$/',$psword);



回答2:


I think this should do the trick:

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



来源:https://stackoverflow.com/questions/2215578/php-simple-regular-expressions-to-match-length

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!