El motivo del post es pedirles ayuda con un codigo que encontre en internet
Les cuento; lo que quiero es hacer un campo de texto que solo permita letras o numeros y quizas uno que otro caracter como guion bajo y que si el usuario de alguna manera "x" logra poner otro, se borre el campo de texto para que lo vuelva a escribir correctamente
encontre un codigo en internet que hace exactamente eso aqui [URL="http://fgualambo.blogspot.mx/2011/09/validar-campo-de-texto-solo-letras.html"]http://fgualambo.blogspot.mx/2011/09/validar-campo-de-texto-solo-letras.html[/URL] (es el segundo codigo, el que tiene la funcion "limpiar")
El problema es que ese solo acepta letras y quiero que tambien acepte numeros asi que como pude lo modifique pero ahora si permite escribir numeros pero al quitar el cursor del campo lo borra
Aqui el codigo que tengo
Código Javascript:
Ver original
<script> function soloLetras(e){ key = e.keyCode || e.which; tecla = String.fromCharCode(key).toLowerCase(); letras = " 0123456789abcdefghijklmnñopqrstuvwxyz"; especiales = [8,48,49,50,51,52,53,54,55,56,57,37,39,46]; tecla_especial = false for(var i in especiales){ if(key == especiales[i]){ tecla_especial = true; break; } } if(letras.indexOf(tecla)==-1 && !tecla_especial) return false; } function limpia(){ var val = document.getElementById("miInput").value; var tam = val.length; for(i=0;i<tam;i++){ if(!isNaN(val[i])) document.getElementById("miInput").value=''; } } </script> <input type="text" onkeypress="return soloLetras(event)" onblur="limpia()" id="miInput">
Lo que agregé está en la linea 5 donde escribí los numeros y en la linea 6 donde puse los numeros 48 al 57 basados en esta [URL="http://franz.webcindario.com/utilidades/keycode.php"]Tabla[/URL] y segun entendí
¿Cómo puedo hacer que ya acepte los numeros sin borrar el campo de texto?
Por cierto, mi conocimiento en JavaScript es como de 0.1% haha, pero en este momento lo necesito y por eso la necesidad de investigar
Gracias