Permettere solo i numeri nelle input con Javascript

Mattepuffo's logo
Permettere solo i numeri nelle input con Javascript

Permettere solo i numeri nelle input con Javascript

La necessità è questa: nelle input di un form permettere la scrittura solo dei numeri.

La cosa però è un pò diversa dalla classica validazione di un form.

Cioè, non deve comparire un messaggio di errore quando si fa il submit del form, ma non deve essere possibile scrivere dentro alla input nient'altro che un numero.

Dentro alla nostra/e input richiamiamo l'evento onkeypress:

<input type="text" name="qt_rigord" value="" onkeypress="return soloNumeri(event);" />

Qualsiasi nome, id o class mettiate non importa perchè noi passeremo alla funzione solo l'evento; ci penserà la funzione a prendere il tipo di tasto digitato e interrompere o meno l'esecuzione.

La funzione è questa qua:

<script type="text/javascript">
   function soloNumeri(evt) {
   var charCode = (evt.which) ? evt.which : event.keyCode
   if (charCode > 31 && (charCode < 48 || charCode > 57)) {
      return false;
   }
   return true;
}
</script>

da mettere nell'head della pagina.

La funzione prende il carattere digitao e controlla se il suo codice è maggiore di 31 e minore di 48 o maggiore di 51.

In questo caso interrompe la scrittura.

Così facendo diamo la possibilità anche di scrivere uno spazio.

I codici numerici della tastiera li riporterò in un altro articolo apposito.

Per ora sappiate che il 32 è lo spazio, e che in numeri vanno dal 48 al 57 compresi.


Condividi

Commentami!