Foros del Web » Programando para Internet » Javascript »

Validar mediante expresión regular, ayuda please

Estas en el tema de Validar mediante expresión regular, ayuda please en el foro de Javascript en Foros del Web. Holas: Espero estén super bien todos vosotros, mi problema es que quiero validar algunos campos de un formulario. Por ejemplo necesito que en ciertos campos ...
  #1 (permalink)  
Antiguo 27/03/2005, 13:50
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 19 años, 8 meses
Puntos: 2
Validar mediante expresión regular, ayuda please

Holas:

Espero estén super bien todos vosotros, mi problema es que quiero validar algunos campos de un formulario. Por ejemplo necesito que en ciertos campos los usuarios puedan ingresar sólo números.

Esto lo puedo lograr mediante expresiones regulares, y funciona la restricción para que sólo puedan ingresar números, pero por motivos de comodidad me gustaría tambien que se pudieran usar otros caracteres especiales, como el tab, las flechas adelante-atrás, el suprimir. Y esto último es lo que no he logrado.

He probado usando los siguientes patrones:
patron = [\d?\t]
patron = [\d\t]
patron = [\d][\t]
patron = [\d]?[\t]
pero nada :(, me acepta los números pero no el tabulador.

Sin embargo con el patrón [\d?\W], sí me acepta el tabulador, y el resto de los caracteres no-alfanuméricos (\W), el problema de esto es que acepta caracteres que no deberia como -^*_"'?¿etc.

Alguna idea??, de antemano muchas gracias por su ayuda.

Un abrazo,

Rodrigo.
  #2 (permalink)  
Antiguo 28/03/2005, 13:56
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 19 años, 8 meses
Puntos: 2
Alguna idea??

A alguien se le ocurre cómo??

Salu2 y gracias,

Rodrigo
  #3 (permalink)  
Antiguo 28/03/2005, 14:36
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 19 años, 8 meses
Puntos: 2
Solucionado!!!

Todo OK:

La función que ocupo para validar el text es una función extraida de este mismo foro, lamentablemente no recuerdo el nombre del autor original (si lo saben, me avisan para darle el crédito correspondiente).

Va como sigue:

function validarNum( e ) {
tecla = (document.all)?e.keyCode:e.which;
if ( (tecla==8) || (tecla==9) )
{
return true;
}
patron = /\d|(\W?[^\.\\\{\+\*\?\-_:;,Ç¿¡'=()&%$·"!ªº|@#~½¬])/;
te = String.fromCharCode(tecla);
return patron.test(te);
}

y el text seria:

<input type="text" name="loquesea" onKeypress="return validarNum( event );" />

Lo que hace la función es aceptar números, además de caracteres especiales como tab, suprimir, flechas de dirección, etc. Sin embargo no acepta caracteres como *#%$...

Esto se da en la variable patrón. Hay información acerca de expresiones regulares en Javascript en la web, pero lamentablemente la más exhaustiva está en inglés, ojala os lleveis bien con ese idioma. Recomiendo leerla, las expresiones regulares son una herrmienta bastante poderosa.

Salu2,

Rodrigo
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 05:23.