Precedente :: Successivo |
Autore |
Messaggio |
Crono Semidio
Registrato: 24/03/05 14:12 Messaggi: 224 Residenza: Trieste
|
Inviato: 29 Apr 2011 12:30 Oggetto: * javascript, ASCII ed espressioni regolari |
|
|
Sto cercando di creare una espressione regolare per testare se il contenuto di un input contiene solo caratteri ASCII stampabili. Di solito cerco di evitare le espressioni regolari come la peste ma questa volta non posso farne a meno. L'esempio che ho riportato qui sotto sembra funzionare ma vorrei un parere da qualcuno che lavora spesso con le espressioni regolari per sapere se ci sono errori che non ho notato o se si può scrivere in modo migliore.
Codice: | /^[\s\!"#\$%&'\\*\+,-.\/\d\:;<\=>\?@A-Z\[(\\)\]\^_`a-z\{\|\}~]*$/ |
|
|
Top |
|
|
freemind Supervisor sezione Programmazione
Registrato: 04/04/07 20:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 29 Apr 2011 15:41 Oggetto: |
|
|
Per te il valore è buono se è vuoto oppure formato da spazi, punti esclamativi, virgolette, cancelletti, dollari, percentuali, e commerciali,apici,backslash,asterischi,più,virgole,meno,punti,slash, numeri,due punti, punti e virgola,minore, uguali, maggiori, punti interrogativi,lettere maiuscole e minuscole,quadre,tonde,cappellini,underscore,backquote,graffe e pipe e tildi?
Se sì però tu hai scritto
Codice: | /^[\s\!"#\$%&'\\*\+,-.\/\d\:;<\=>\?@A-Z\[(\\)\]\^_`a-z\{\|\}~]*$/ |
mentre io toglierei, il meno in mezzo perchè lì viene inteso come operatore di range (esattamente come A-Z) e lo metterei alla fine; al posto del punto userei "\." perchè se no indichi qualunque carattere, la tonda aperta penso che tu volessi indicarla con "\(" e non "(\".
Però dovrei fare una prova e non ho la possibilità ora... |
|
Top |
|
|
Crono Semidio
Registrato: 24/03/05 14:12 Messaggi: 224 Residenza: Trieste
|
Inviato: 02 Mag 2011 08:17 Oggetto: |
|
|
freemind ha scritto: | Per te il valore è buono se è vuoto oppure formato da spazi, punti esclamativi, virgolette, cancelletti, dollari, percentuali, e commerciali,apici,backslash,asterischi,più,virgole,meno,punti,slash, numeri,due punti, punti e virgola,minore, uguali, maggiori, punti interrogativi,lettere maiuscole e minuscole,quadre,tonde,cappellini,underscore,backquote,graffe e pipe e tildi? |
I valori buoni sono tutti i caratteri ASCII stampabili, la tabella la ho trovata su Wikipedia spero che sia corretta. |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11568 Residenza: Tokelau
|
Inviato: 02 Mag 2011 10:43 Oggetto: |
|
|
boh, stampabili te ne mancano un casino secondo me. Ad esempio le vocali accentate. |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11568 Residenza: Tokelau
|
Inviato: 02 Mag 2011 10:44 Oggetto: |
|
|
comunque magari è più facile verificare che una stringa NON contenga i caratteri che non vuoi... vedi te. (scusate il doppio post, errore...) |
|
Top |
|
|
mda Dio maturo
Registrato: 01/11/06 09:39 Messaggi: 6648 Residenza: Figonia
|
Inviato: 07 Mag 2011 01:52 Oggetto: |
|
|
SverX ha scritto: | comunque magari è più facile verificare che una stringa NON contenga i caratteri che non vuoi... vedi te. |
Quello che penso anch'io! Invece di dire "se contiene passi e altrimenti non passa" un "se contiene non passa altrimenti passa".
Ciao |
|
Top |
|
|
freemind Supervisor sezione Programmazione
Registrato: 04/04/07 20:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 07 Mag 2011 14:41 Oggetto: |
|
|
A volte è meglio fare un test in positivo altre in negativo.
Però di norma i validatori verificano che il valore sia in una certa forma e non che non lo sia... |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11568 Residenza: Tokelau
|
Inviato: 09 Mag 2011 09:43 Oggetto: |
|
|
se si deve verificare che determinati elementi appartengano o meno ad un set finito, conviene elencare quelli che NON appartengono al richiesto sottoinsieme, se questi sono meno di quelli che appartengono...
(nel senso che l'uso delle espressioni regolari in questo caso non è per niente obbligatoria o vantaggiosa, dato che Crono non la usa per verificare un formato. Ed è meglio non usare cannoni per uccidere zanzare, come diceva Confucio (o almeno ho sentito dire così ) |
|
Top |
|
|
|
|
Non puoi inserire nuovi argomenti Non puoi rispondere a nessun argomento Non puoi modificare i tuoi messaggi Non puoi cancellare i tuoi messaggi Non puoi votare nei sondaggi
|
|