- Home
- Categorie
- Coding e Sistemistica
- Coding
- [Risolto] Semplicissima regex per il nickname
-
[Risolto] Semplicissima regex per il nickname
Buonasera,
malgrado odi le regex sono costretto ad usarle e proprio ora che mi servono danno problemi

[PHP]
// Controllo il nickname
elseif(!eregi("^[a-z0-9]", $string))
die('Il nickname non è valido: sono permessi solo nickname formati da lettere e numeri.');
[/PHP]Voglio che $string sia fatta solo di Lettere maiuscole/minuscole, di spazi e di numeri (ex: "Roxas Shadow 123") ma non di simboli (ex: °, +), ecc.
L'eregi del mio script però a quanto pare non funziona, come posso fixare ?
-
Ciao RoxasShadow,
Nella tua espressione regolare hai inserito il carattere ^, che indica la negazione, ma anche l'inizio della stringa, quando viene posto all'inizio del pattern. Mancava anche lo spazio, tra i caratteri consentiti.
Inoltre ti consiglio di utilizzare la funzione preg_match al posto di ereg ed eregi, in quanto queste ultime sono state deprecate da php 5.3.0 in poi.Questo dovrebbe fare al caso tuo:
[php]elseif(!preg_match("/^^[a-zA-Z0-9 ]+$/", $string))
die('Il nickname non è valido: sono permessi solo nickname formati da lettere e numeri.');[/php]Ciao,
Luca Bartoli
-
Grazie mille Luca, funziona che una meraviglia.
-
Prego, è un piacere
