PHP: semplici espressioni regolari per abbinare la lunghezza?
-
19-09-2019 - |
Domanda
Sto creando un sistema di registrazione che ha bisogno di controllare il nome / passano ecc REGEX (e preferiscono), quello che ho finora è:
//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);
Ma devo fare cose stupide in affermazioni se come:
if strlen($psword) > 30 || if (strlen($psword) < 4) ....
Come potrei impliment il controllo di lunghezza nelle mie due prospetti originali espressioni regolari? Questo mi farebbe molto felice ..
Soluzione
stesso, ma utilizzando il d \ w e \ per parola e cifre, ma si potrebbe voler includere anche i simboli di base come %!?/ ... etc...
preg_match('/^[\w\d]{4,30}$/',$psword);
il {n,v}
sarebbe convalidate per n minimo e massimo prima v elementi.
come A{2,3}
sarebbe convalidare per AA
e AAA
. si può prendere un ci per ulteriori riferimenti
Nella stessa maniera, se si desidera impostare solo il minimo di patern {n,}
lo farebbe. Ad esempio:
preg_match('/^[\w\d]{4,}$/',$psword);
Altri suggerimenti
Credo che questo dovrebbe fare il trucco:
preg_match ( '/ ^ [a-zA-Z0-9] {4,30} $ /', $ psword);