Si queremos que en un input de tipo texto solo se puedan escribir números por diferentes circunstancias, la forma más efectiva de hacerlo es bloquear todas las teclas que no sean números, así no dejamos margen a la introducción de caracteres que no nos interesen.
En este caso he elaborado un plugin jQuery que bloquea todas las teclas excepto números, punto y coma. Además de algunas teclas de control como las de desplazamiento, el espacio o el borrar.
Esta es la primera parte del ejemplo, el propio plugin en jQuery, que en este caso he llamado onlynums.
<script> (function ($){ jQuery.fn.onlynums = function() { var permitidos = [48,49,50,51,52,53,54,55,56,57,188,190,96,97,98,99,100,101,102,103,104,105,110]; //Controls permitidos.push(8); //Tecla borrar permitidos.push(32); //Tecla espacio permitidos.push(39); //Tecla flecha izq permitidos.push(37); //Tecla flecha drc $(this).keydown(function(event){ if($.inArray(event.which, permitidos) == -1){ return false; } }); }; })(jQuery);//End function. </script>
Seleccionaremos el input de tipo texto que nos interese vía Id, Clase o Tag Html, y llamaremos al plugin jQuery onlynums.
<script> $( document ).ready(function() { $('#telefono').onlynums(); }); </script>
A partir de ese momento, en nuestro input de tipo texto solo podremos escribir números, comas o puntos.
<input type="text" id="telefono">
Si te ha sido de utilidad ¡deja un comentario!