[JQuery][BASICO] Permitir solo numeros

Iniciado por Xt3mP, Abril 20, 2012, 02:35:13 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Abril 20, 2012, 02:35:13 AM Ultima modificación: Mayo 02, 2014, 10:54:14 PM por Destructor.cs
A veces por cuestiones de la vida nos vemos en la situación de validar que caracter es ingresado permitiendo sólo así el ingreso de caracteres numéricos. Existen muchas maneras de lograrlo pero en mi caso, lo necesario era que en cuanto el visitante presione una tecla, validarla en tiempo real para solo permitir los caracteres que queremos; en éste caso, numéricos.

Haremos uso del evento keydown tomando como evento el caracter presionado pero antes, por cuestiones de eficacia y porque seguramente necesitamos usarlo en varios input/textarea, le asignaremos una clase de esta manera:

Código: html5
<input class="validar" type="text" name="casilla_1" />
<input class="validar" type="text" name="casilla_2" />


Ahora agregaremos el evento de la siguiente manera:

Código: javascript
$(function(){
    $(".validar").keydown(function(event){
        if(event.keyCode < 48 || event.keyCode > 57){
            return false;
        }
    });
});


Con esto nos bastaría para solo permitir números aunque con IE8 tuve problemas. Y respecto a qué hacemos, pues fácil. Mandamos mediante "event" la tecla pulsada y la comparamos con su "char key code". Los podemos encontrar en No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Hay otras formas de hacer lo mismo, por ejemplo, utilizando isNaN (is not a number). Todo varia dependiendo la experiencia de cada programador aunque sinceramente a esto no le veo mucha ciencia así que espero que haya sido de utilidad aunque sea un poco, ya que estoy seguro que al menos una vez en la vida necesitaremos validar caracteres numéricos dejando de lado PHP, ASP, etc.
Cada vez que me das Karma me motivas