En el cuadro de texto, solo quiero permitir que se escriban números, retroceso, teclas de flecha izquierda y derecha y mayúsculas + teclas de flecha (para la selección) y bloquear la escritura de alfabetos y caracteres especiales.
Intenté usar el siguiente código:
var key = e.which || this.value.substr(-1).charCodeAt(0); key = String.fromCharCode(key); var regex = /^[0-9\b]+$/;Con expresiones regulares:
if(!regex.test(key) && !(e.shiftKey && (e.keyCode == 37 || e.keyCode == 39)) && e.keyCode!=37 && e.keyCode!=39) return false;El código anterior bloquea la escritura de alfabetos pero permite caracteres especiales.
Sin expresiones regulares:
if((e.shiftKey && e.keyCode > 48 && e.keyCode < 57) || (e.keyCode <= 48 && e.keyCode >= 57) || (e.keyCode <=96 && e.keyCode >=105)) return false;Pero en el código anterior, el usuario puede ver cómo se escriben y eliminan los caracteres.
Quiero bloquear la escritura de alfabetos y caracteres especiales. ¿Alguien puede corregir mi código?