View Full Version : [ASP] Espressione regolare mi fa impazzire!
RobyG_08
19-05-2010, 09:32
Ciao a tutti,
sto impazzendo dietro una reg exp che mi deve controlare un campo immesso dall'utente. In particolare può contenere solo lettere o numeri (e fin qui), ma deve contenere almeno una lettera e almeno un numero, es:
aaaaa NO
1aaaa SI
a1a1a SI
2222a SI
22222 NO
come diavolo si fa? c'è l'operatore OR ma non c'è l'operatore AND, o sbaglio?
Grazie a chiunque mi aiuti
Umh... non l'ho testata... cosi a naso...
([A-Za-z]+[0-9]+|[0-9]+[A-Za-z]+)
Non conosco la sintassi delle regex di ASP... va bene cosi?
RobyG_08
19-05-2010, 09:50
Grazie per la risposta,
però così non va, perchè accetta solo
22aa oppure aa22, ma non a2a2 oppure a2aa per esempio
Grazie per la risposta,
però così non va, perchè accetta solo
22aa oppure aa22, ma non a2a2 oppure a2aa per esempio
Hai ragione...e cosi?
([A-Za-z]+[0-9]+|[0-9]+[A-Za-z]+).*
edit: scusa, mi sono ricordato che possono essere solo lettere e/o numeri... quindi non sarà ".*" ma "[A-Za-z0-9]*"...o quello che è in ASP.
RobyG_08
19-05-2010, 10:13
Così funziona (con .*, con solo *no)! Grazie!
Mi spieghi cosa cambia col .*? Cioè . non sta per tutti i caratteri e * per zero o più occorrenze?
EDIT e se volessi che la stringa in totale sia lunga da 3 a 10? {3,10}?
Così funziona (con .*, con solo *no)! Grazie!
Mi spieghi cosa cambia col .*? Cioè . non sta per tutti i caratteri e * per zero o più occorrenze?
Si esatto. Ma non devi mettere solo *, e .* non va bene perchè tu vuoi che la stringa sia composta solo da numeri e lettere.
Sostituisci .* con [A-Za-z0-9]* e bon.
Bueno, se interessano le performance si può migliorare leggermente:
(?:[A-Za-z]+\d|\d+[A-Za-z])[A-Za-z0-9]*
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.