Foros del Web » Programando para Internet » Javascript »

Solo aceptar caracteres segun condicion

Estas en el tema de Solo aceptar caracteres segun condicion en el foro de Javascript en Foros del Web. Buenas a todos. Tengo una funcion en JS : function evalua_entrada() { if ( event.keyCode == 32 || event.keyCode == 39 || event.keyCode == 164 ...
  #1 (permalink)  
Antiguo 14/11/2005, 09:47
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Solo aceptar caracteres segun condicion

Buenas a todos.

Tengo una funcion en JS :

function evalua_entrada()
{
if ( event.keyCode == 32 || event.keyCode == 39 || event.keyCode == 164 || event.keyCode == 165 )
else if ( event.keyCode >= 48 && event.keyCode <= 57)
else if ( event.keyCode >= 65 && event.keyCode <= 90)
else if ( event.keyCode >= 97 && event.keyCode <= 122)
else { alert('Ha ingresado un caracter no permitido');
}

y tengo este texbox

<input name="txt_razon" type="text" id="txt_razon" size="50" onKeyPress="evalua_entrada()">

Pero lo que pasa que cuando coloco en el text por ejemplo * (asterisco) me lo acepta y eso no es correcto solo puedo aceptar :
0-9
a-b
A-B

' (apostrofe)
(espacio en blanco)

Pero me acepta todos los caracteres que voy digitando.

Que puede estar pasando.

Gracias y saludos.
  #2 (permalink)  
Antiguo 14/11/2005, 10:00
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola JuanKa

Creo que este código te servirá:
Código:
<html>
<head>
<script>
function validar(e) {
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla==8) return true;
    patron = /[\dabABñÑ\x27\s]/;
    te = String.fromCharCode(tecla);
    return patron.test(te); 
} 
</script>
</head>

<body>
<input type="text" name="textfield" onkeypress="return validar(event)">
</body>
</html>
Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:50.