View Full Version : [Javascript] Controlli caratteri consentiti
In una form di registrazione ho due input type (Città e Username), come controlli ho già messo:
Username:
- Controllo se è vuoto;
- La lunghezza deve essere comrpesa tra 4-16 caratteri
Città:
- Controllo se è vuoto;
Secondo voi quali altri controlli sarebbe meglio mettere?
Che la città non contenga numeri :) o caratteri particolari (#*@*ecc...)
Per l'username pensavo di non permettere gli spazi, e anche qualche simbolo come ()/\|"'^*, anzi più che altro eliminerei tutti i simboli a parte alcuni, tipo _
Ho un problema per la creazione dei caratteri accettati per la città.
Questo è il codice che uso per l'email:
var espressione = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;
if (!espressione.test(document.registrazione.email.value)) { ... ...
} else { ... ... }
Non riesco a capire come adattarlo per controllare che la città:
- Non inizi con uno spazio;
- Contenga solo lettere (no numeri e simboli).
In internet trovo solo esempi del controllo mail...
Qualcuno mi potrebbe aiutare. Grazie
Ho un problema per la creazione dei caratteri accettati per la città.
Questo è il codice che uso per l'email:
var espressione = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;
if (!espressione.test(document.registrazione.email.value)) { ... ...
} else { ... ... }
Non riesco a capire come adattarlo per controllare che la città:
- Non inizi con uno spazio;
- Contenga solo lettere (no numeri e simboli).
In internet trovo solo esempi del controllo mail...
Qualcuno mi potrebbe aiutare. Grazie
^\s+|[^A-z ']
Consente l'apostrofo e lo spazio all'interno del nome.
Grazie, per caso sai dove posso trovare una guida che spiega come funziona in generale.
Perchè non mi è ben chiaro il funzionamento, cioè ora come ora non sarei in grado di creare un altro controllo.
Certo ecco qui http://www.regular-expressions.info/tutorial.html
Grazie, guida molto utile...
^\s+|[^A-z ']
Consente l'apostrofo e lo spazio all'interno del nome.
Ho provato il suddetto codice ma non mi funziona, quindi ne ho provato a creare uno io in questo modo:
/^[a-zA-Z '-]+$/;
Così funziona, l'unica cosa che manca è il controllo sul primo carattere che deve essere per forza una lettera e non uno spazio o l'apostrofo.
Il mio funziona perfettamente, va usato così
if(!/^\s+|[^A-z ']/.test(value)) //allora è ok
Il fatto è che io lo faccio in questo modo:
var struttura_città = ...;
if (!struttura_città.test(document.registrazione.città.value)) {
Se inserisco la tua stringa nella variabile mi da sempre errore, mentre quella cha faccio io no. Non capisco il motivo...
Corretto, non avevo letto che la tua funziona quand'è uguale, la mia faceva l'opposto.
Per la lunghezza cosa mi consigli? 2-30?
Se vuoi mettere un limite massimo 30 è accettabile quasi sempre, curiosità la città col nome più lungo del mondo è questa Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch :p
Se vuoi fare tutto in un controllo potresti fare una cosetta del genere
var struttura_città =/[A-z][A-z ']{1,29}/;
if(document.registrazione.città.value.replace(struttura_città,"").length){
//valore non accettabile
}
else{
//valore ok
}
Se vuoi fare tutto in un controllo potresti fare una cosetta del genere
var struttura_città =/[A-z][A-z ']{1,29}/;
if(document.registrazione.città.value.replace(struttura_città,"").length){
//valore non accettabile
}
else{
//valore ok
}
Grazie per il consiglio, però preferisco farli separati in podo da indicare all'utente il motivo del avviso.
Se vuoi mettere un limite massimo 30 è accettabile quasi sempre, curiosità la città col nome più lungo del mondo è questa Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch :p
:eek: hahaha, ma è un nome mostruosamente lungo e soprattutto impronunciabile...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.