PHP: les expressions régulières simples à utiliser la longueur?
-
19-09-2019 - |
Question
Je crée un système d'enregistrement qui doit vérifier le nom / pass, etc. avec REGEX (et préfèrent), ce que j'ai à ce jour est:
//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);
Mais je dois faire des choses stupides dans une instruction IF comme:
if strlen($psword) > 30 || if (strlen($psword) < 4) ....
Comment puis-je impliment le contrôle de longueur dans mes deux déclarations d'expressions régulières d'origine? Cela me ferait tellement heureux ..
La solution
même mais en utilisant le \ w et \ d pour mot et chiffres, mais vous pouvez également inclure des symboles de base comme %!?/ ... etc...
preg_match('/^[\w\d]{4,30}$/',$psword);
la {n,v}
permettrait de valider, pour n minimum et le maximum des éléments v avant.
comme A{2,3}
validerait pour AA
et AAA
. vous pouvez jeter un oeil il plus de références
Sur la même façon si vous voulez seulement régler le minimum de Patern {n,}
le ferait. Par exemple:
preg_match('/^[\w\d]{4,}$/',$psword);
Autres conseils
Je pense que cela devrait faire l'affaire:
preg_match ( '/ ^ [a-zA-Z0-9] {} $ 4,30 /', psword de $);