PHP: Einfache reguläre Ausdrücke Länge zu gewährleisten?
-
19-09-2019 - |
Frage
Ich bin ein Registrierungssystem zu schaffen, das den Namen überprüfen muß / geben usw. mit REGEX (und am liebsten), was ich habe, so weit ist:
//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);
Aber ich habe dumme Sachen in IF-Anweisungen zu tun:
if strlen($psword) > 30 || if (strlen($psword) < 4) ....
Wie würde ich die Länge Prüfung in meinen beiden ursprünglichen regulären Ausdruck Aussagen impliment? Das würde mich so glücklich machen ..
Lösung
gleiche, aber mit dem \ w und \ d für Wort und Ziffern, aber Sie könnten auch grundlegenden Symbole wie %!?/ ... etc...
preg_match('/^[\w\d]{4,30}$/',$psword);
die {n,v}
für mindestens n und höchstens v Elemente bestätigen würden vor.
wie A{2,3}
für AA
und AAA
bestätigen würde. Sie können einen Blick dort für mehr Referenzen
Auf die gleiche Art und Weise, wenn Sie nur das Minimum von Patern {n,}
festlegen mögen es tun würde. Zum Beispiel:
preg_match('/^[\w\d]{4,}$/',$psword);
Andere Tipps
Ich denke, das sollte es tun:
preg_match ( '/ ^ [a-zA-Z0-9] {4,30} $ /', $ psword);