Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/06/2011, 07:24
francap
 
Fecha de Ingreso: agosto-2010
Ubicación: Montevideo
Mensajes: 107
Antigüedad: 14 años, 3 meses
Puntos: 3
Expresión regular con RegExp

No puedo hacer funcionar esta función. Siempre me devuelve false

Código Javascript:
Ver original
  1. function filtrar_Num(text, t_min, t_max){
  2. //devuelve verdadero si solo hay digitos del 0-9 sino falso
  3. //y la cantidad de caracteres debe estar entre $min y $max
  4.     texto=text.value;
  5.     var RegExPattern = new RegExp("^[0-9]{" + t_min + "," + t_max + "}$","i");
  6.    
  7.     if(RegExPattern.test(texto)) {
  8.         resultado =  true;
  9.     }else{
  10.         resultado =  false;
  11.     }
  12.     return resultado;
  13. }

si lo hago de esta otra manera si funciona pero yo quiero hacer variable la cantidad de caracteres

Código Javascript:
Ver original
  1. function filtrar_Num(text, t_min, t_max){
  2. //devuelve verdadero si solo hay digitos del 0-9 sino falso
  3. //y la cantidad de caracteres debe estar entre $min y $max
  4.     texto=text.value;
  5.  
  6.     var RegExPattern = /^[0-9]{1,2}$/;
  7.    
  8.     if(RegExPattern.test(texto)) {
  9.         resultado =  true;
  10.     }else{
  11.         resultado =  false;
  12.     }
  13.     return resultado;
  14. }

Seguramente sea un error conseptual porque tampoco me funciona la que utilizaría para campos alfa-numéricos

Código Javascript:
Ver original
  1. var RegExPattern = new RegExp("^[0-9A-Za-z_ -áéíóúÁÉÍÓÚñÑ]{" + t_min + "," + t_max + "}$","i");

Desde ya muchas gracias por la ayuda. Saludos