Come posso fare che in un campo(modulo) possa essere inserito solo numeri e l'altro solo carattere?
Vorrei un semplice controllo senza alert.
grazie!
Come posso fare che in un campo(modulo) possa essere inserito solo numeri e l'altro solo carattere?
Vorrei un semplice controllo senza alert.
grazie!
<script>
if(test("[0-9]+[a-z]+[A-Z]+",document.nome_form.nome_campo.value)){
ok
}
else{
sbagliato
}
</script>
poi scegli tu cosa farlgi fare....
![]()
![]()
No ai layout tabellari!
Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872
un procedimento che mi viene in mente, è quello di operare sull evento keyUp facendo un str.replace![]()
viene figo![]()
qualcosa tipo...
<input type="text" onKeyUp="this.value.replace(/\D/gi,'')">
![]()
Scusatemi ma non ho capito si uno che l'altro!
document.nome, ecc sta per?
<script>
if(test("[0-9]+[a-z]+[A-Z]+",document.nome_form.nome_campo.value)){
ok
}
else{
sbagliato
}
</script>
e poi questo di dennis?!?!?
<input type="text" onKeyUp="this.value.replace(/\D/gi,'')">
Scusatemi ma non capisco bene di JS
Ripeto la mia domanda per sicurezza:
Nel modulo: Esempio: telefono - si puo digitare solo numeri
campo nome: si puo digitare solo carattere..
Grazie della vostra buona volontà!
![]()
fai una prova, metti in una pagina questo e prova a inserire qualcosa....
TELEFONO:<input type="text" onKeyUp="this.value=this.value.replace(/\D/gi,'')">
NOME: <input type="text" onKeyUp="this.value=this.value.replace(/\d/gi,'')">
![]()
Ho fatto cosi, però niente. Riesco ad inserire sia numeri che lettere.
<input type="text" name="Telefono" size="24" tabindex="12" class="dati" onKeyUp="this.value=this.value.replace(/\D/gi,")">
![]()
dalla mia pillola:
\d qualsiasi cifra -> abbreviazione di [0-9]
\D qualsiasi non cifra -> abbreviazione di [^0-9]
\w qualsiasi carattere alfanumerico -> abbreviazione di [a-zA-Z0-9]
quindi scrivendo \D si possono inserire anche caratteri come \!"£$%....e così via
quindi per le cifre fai una funzione js da richiamare con OnKeyUp="controlla(0)" se vuoi solo numeri,
OnKeyUp="controlla(1)" se vuoi solo cifre:
e metti questo in head:
prova a vedere se va, così ogni volta che 1 mette un carattere non accettato, viene rimpiazzato con uno spazio vuoto.codice:<script> function controlla(cosa){ if (cosa==0){ document.nome_form.nome_campo.value=document.nome_form.nome_campo.value.replace(/d/," "); } else{ document.nome_form.nome_campo.value=document.nome_form.nome_campo.value.replace(/[a-z][A-Z]/," "); } } </script>
Ps. devi cambiare nome_form e nome_campo....volendo puoi fondere il mio codice con quello di Dennis per rendere il mio corto e quello di Dennis funzionante
![]()
![]()
No ai layout tabellari!
Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872
occhio al codice, fa il replace con uno nullo ('') non con uno spazio (' ')Originariamente inviato da oronze
dalla mia pillola:
\d qualsiasi cifra -> abbreviazione di [0-9]
\D qualsiasi non cifra -> abbreviazione di [^0-9]
\w qualsiasi carattere alfanumerico -> abbreviazione di [a-zA-Z0-9]
quindi scrivendo \D si possono inserire anche caratteri come \!"£$%....e così via
quindi per le cifre fai una funzione js da richiamare con OnKeyUp="controlla(0)" se vuoi solo numeri,
OnKeyUp="controlla(1)" se vuoi solo cifre:
e metti questo in head:
prova a vedere se va, così ogni volta che 1 mette un carattere non accettato, viene rimpiazzato con uno spazio vuoto.codice:<script> function controlla(cosa){ if (cosa==0){ document.nome_form.nome_campo.value=document.nome_form.nome_campo.value.replace(/d/," "); } else{ document.nome_form.nome_campo.value=document.nome_form.nome_campo.value.replace(/[a-z][A-Z]/," "); } } </script>
Ps. devi cambiare nome_form e nome_campo....volendo puoi fondere il mio codice con quello di Dennis per rendere il mio corto e quello di Dennis funzionante
![]()
![]()