Foros del Web » Programando para Internet » Javascript »

Cómo filtro caracteres en Javascript ?

Estas en el tema de Cómo filtro caracteres en Javascript ? en el foro de Javascript en Foros del Web. Una consulta, cómo hago para verificar que cuando un usuario ingrese letras, no se lo permita ? sólo numeros y el punto decimal ?...
  #1 (permalink)  
Antiguo 11/12/2009, 08:58
 
Fecha de Ingreso: febrero-2008
Mensajes: 409
Antigüedad: 16 años, 2 meses
Puntos: 2
Pregunta Cómo filtro caracteres en Javascript ?

Una consulta, cómo hago para verificar que cuando un usuario ingrese letras, no se lo permita ? sólo numeros y el punto decimal ?
  #2 (permalink)  
Antiguo 11/12/2009, 09:02
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Cómo filtro caracteres en Javascript ?

Hola jiten

Echa un ojo a esta página: validar formulario

Saludos,
  #3 (permalink)  
Antiguo 11/12/2009, 09:20
 
Fecha de Ingreso: febrero-2008
Mensajes: 409
Antigüedad: 16 años, 2 meses
Puntos: 2
Respuesta: Cómo filtro caracteres en Javascript ?

A ver, te explico :

Yo bajé un codigo de uno de los FAQ que ahor no encuentro y aparentemete funciona bien, excepto por una excepcion que al final mencionaré.

Aqui el código que tengo :

Cita:
function cumpleReglas(simpleTexto)
{
//la pasamos por una poderosa expresión regular
var expresion = new RegExp("^(|([0-9]{1,2}(\\.([0-9]{1,2})?)?))$");
//si pasa la prueba, es válida
if(expresion.test(simpleTexto))
return true;
return false;
}//end function checaReglas

//ESTA FUNCIÓN REVISA QUE TODO LO QUE SE ESCRIBA ESTÉ EN ORDEN

function revisaCadena(textItem)
{
//si comienza con un punto, le agregamos un cero
if(textItem.value.substring(0,1) == '.')
textItem.value = '0' + textItem.value;
//si no cumples las reglas, no te dejo escribir
if(!cumpleReglas(textItem.value))
textItem.value = textoAnterior;
else //todo en orden
textoAnterior = textItem.value;
}
ahora bien, esto filtra bien pues me deja ingresar solo decenas, unidades, un punto decimal y hasta dos decimales. eso está ok para lo que necesito, pero el problema está en que si tecleo letras al inicio sí me lo permite.... yo no quisiera esto... cómo puedo evitarlo ?
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 10:11.