Question

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..

Was it helpful?

Solution

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

OTHER TIPS

I think this should do the trick:

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top