Foros del Web » Programando para Internet » Javascript »

validacion de input con reg expr

Estas en el tema de validacion de input con reg expr en el foro de Javascript en Foros del Web. Hola amigos: ya he preguntado este tema, estoy leyendo las expresiones regulares, y he visitado links, pero bueno aun me cuesta comprenderlo y quizás alguien ...
  #1 (permalink)  
Antiguo 27/02/2004, 11:58
 
Fecha de Ingreso: febrero-2001
Ubicación: Capital Federal
Mensajes: 93
Antigüedad: 23 años, 2 meses
Puntos: 0
validacion de input con reg expr

Hola amigos:

ya he preguntado este tema, estoy leyendo las expresiones regulares, y he visitado links, pero bueno aun me cuesta comprenderlo y quizás alguien me pueda dar una mano.


Necesito validar un campo, que solo tenga caracteres numéricos,
no permita espacios en blanco, tenga determinada longitud, y que la máscara numérica a ingresar sea de este tipo:

5000,32

Basicamente solo puedo permitir una coma , insisto el resto de los caracteres tiene que ser numéricos, y luego de la coma puedo permitir dos caractéres solamente numéricos.

Se me ocurren varias cosas, he leido por ahí un ejemplo de una expresion regular de un número con punto flotante, es lo que basicamente sería esto, nada más que permitiría una coma en lugar de un punto y tendría que permitir solo dos decimales.

Se me ocurren algunas formas de hacerlo, pero no son las más optimas, alguien me puede dar una mano, gracias
  #2 (permalink)  
Antiguo 27/02/2004, 12:04
Avatar de sindestino  
Fecha de Ingreso: noviembre-2003
Ubicación: xxxx xxxx
Mensajes: 270
Antigüedad: 20 años, 6 meses
Puntos: 0
lo único que se de expresiones regulares es una buena página para consultar

www.regular-expressions.info

ahí hay mucha información y un testeador de expresiones para javascript.

Ojalá te sirva
  #3 (permalink)  
Antiguo 27/02/2004, 12:08
 
Fecha de Ingreso: febrero-2001
Ubicación: Capital Federal
Mensajes: 93
Antigüedad: 23 años, 2 meses
Puntos: 0
gracias amigo tengo este link, lo estoy leyendo, e intento comprender, pero aun no lo logro
  #4 (permalink)  
Antiguo 27/02/2004, 12:31
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, aleman.
Código PHP:
patron=/^d{4},d{2}$/;
alert(patron.test(tutexto)); 
Espero que te sirva. Saludos,
  #5 (permalink)  
Antiguo 01/03/2004, 08:38
 
Fecha de Ingreso: febrero-2001
Ubicación: Capital Federal
Mensajes: 93
Antigüedad: 23 años, 2 meses
Puntos: 0
Bueno amigo gracias, por responderme, agradezco tu expresion, el tema era que solo queria controlar dos decimales, como cambio la expresión??, porque esto me controla exactamente cuatro digitios iniciales, y quizas en el mensaje anterior no me exprese bien.
  #6 (permalink)  
Antiguo 01/03/2004, 08:49
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Esa expresión yá está para validad con 4 dígitos iniciales y dos tras la coma, pero el tema es que te validará que al menos tenga eso, pero si tiene más también te validará.

En tu caso necesitas algo más que una expresión regular.
  #7 (permalink)  
Antiguo 01/03/2004, 10:22
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 de nuevo.

tunait: si no estoy confundido, la expresión que puse en mi anterior mensaje valida exactamente 4 dígitos, una coma y dos dígitos. Ni más ni menos, ni menos ni más (¿donde he oido yo esta expresión? )

aleman: si sigo sin estar confundido, esta es la expresión que necesitas:
Código:
patron=/^\d*,\d{2}$/;
Saludos,

Última edición por JavierB; 01/03/2004 a las 10:26
  #8 (permalink)  
Antiguo 06/03/2004, 07:17
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hooola de nuego


la verdad es que haga lo que haga me devuelve false todo el tiempo


patron=/^d{4},d{2}$/;
alert(patron.test(5004,32));

-Eso devuelve false

patron=/^d{4},d{2}$/;
alert(patron.test('5004,32'));

eso también.

Si añado, quito, cambio, doy la vuelta... me devuelve siempre false

Tiempo atrás observé que mientras cumplan unos mínimos las regexp yá se ajustan al patrón y permiten "de más" (lo que no permiten es de menos), por eso dije lo que dije (valga la rebuznancia) en el mensajete anterior
  #9 (permalink)  
Antiguo 06/03/2004, 09:47
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, Moderadora.

En tu código faltan un par de barras: patron=/^\ d{4},\ d{2}$/;

Posiblemente lo copiastes de mi primer mensaje. Estaban puestas, pero se las ha tragado el vbTag [ php]

Saludos,

Última edición por JavierB; 06/03/2004 a las 09:50
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 20:37.