Ciao.
Dovrei escludere dall'inserimento in un campo del form tutti i caratteri speciali della tastiera (|\!"£$%&/()=?'^*+[]ç@°#§-_:.;,).
Qualcuno può dirmi come fare?
Grazie
Ciao.
Dovrei escludere dall'inserimento in un campo del form tutti i caratteri speciali della tastiera (|\!"£$%&/()=?'^*+[]ç@°#§-_:.;,).
Qualcuno può dirmi come fare?
Grazie
Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli
Ciao.
Un approccio di questo genere
penso sia di + facile gestione:
cioè accetti solo lettere numeri e -_'/^[a-zA-Z0-9\-_]{2,16}$/'
la stringa va da due caratteri a 16.
PS.
La regex è solo un esempio
dacci un occhio !
Without faith, nothing is possible. With it, nothing is impossible
http://ilwebdifabio.it
<input type="text" onkeyup="if (!/^[a-z0-9]*$/i.test(this.value)) alert('err')">
così permetto solo lettere e numeri, magari aggiungerei le lettere accentate, punti, virgole etc.
Perfette entrambe, grazie!
Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli
oppure
e nel campo del formcodice:<script language="javascript"> re=/[\|\\\!\"\£\$\%\&\/\(\)\=\?\'\^\*\+\[\]\ç\@\°\#\§\-\_\:\.\;\,]/g </script>
codice:onkeyup="this.value=this.value.replace(re,'');" onchange="this.value=this.value.replace(re,'');"
Ho modificato quest'ultimo integrandolo con quello precedente:Originariamente inviato da willybit
oppure
e nel campo del formcodice:<script language="javascript"> re=/[\|\\\!\"\£\$\%\&\/\(\)\=\?\'\^\*\+\[\]\ç\@\°\#\§\-\_\:\.\;\,]/g </script>
codice:onkeyup="this.value=this.value.replace(re,'');" onchange="this.value=this.value.replace(re,'');"
<input type="text" name="cognome" style="width:89%" onkeyup="this.value=this.value.replace(re,''); alert('Carattere non consentito')" onchange="this.value=this.value.replace(re,'');">
e funziona correttamente quando inserisco caratteri speciali ma mi da messaggio di errore se inserirsco una lettera qualunque, come mai?
inoltre volevo chiedervi:
1) come fare a validare il campo input dell'email per essere sicuri che il campo sia compilato correttamente
2) come fare per impostare il campo "cap" in modo che sia esclusivamente numerico
Originariamente inviato da floyd
<input type="text" onkeyup="if (!/^[a-z0-9]*$/i.test(this.value)) alert('err')">
così permetto solo lettere e numeri, magari aggiungerei le lettere accentate, punti, virgole etc.
questo script funziona ma vorrei inserire l'"onchange" per eliminare il carattere inserito,
quale sarebbe la sintassi corretta?
[code]
<input onkeyup="this.value = this.value.replace(/[^a-z0-9]*/gi, '')">
onkeyup credo sia meglio, ma se preferisci metti onchange
![]()
ho risolto in questo modo:
<script language="JavaScript">
re=/[\|\\\!\"\£\$\%\&\/\(\)\=\?'\^\*\+\[\]\ç\@\°\#\§\-\_\:\.\;\,]/g
..... altri controlli
</script>
e nel corpo:
<input type="text" name="cognome" style="width:89%" onkeyup="this.value=this.value.replace(re,'');" onchange="this.value=this.value.replace(re,'');">
unica cosa che vorrei aggiungere (ma non è fondamentale) è un alert che dice che sono stati inseriti caratteri non validi
Ho risolto così alla fine:
codice:<script language="JavaScript" type="text/JavaScript"> <!-- function convalidaForm(objform) { if (!objform.NomeCampo.value.match(/^[a-zA-Z0-9\-_]{2,16}$/)) { alert('KO'); objform.NomeCampo.focus(); return(false); } // Abilita l'invio del FORM return(true); } //--> </script> </head> <body> <form name="objform" method="POST" ACTION="pag.asp" onsubmit="return(convalidaForm(this));"> ...
Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli