Comunidad de diseño web y desarrollo en internet online

Expresiones regulares javascript (pattern)

Citar            
MensajeEscrito el 11 Abr 2011 02:27 pm
Hola, tengo un campo de verificacion de formulario donde quiero que verifique una fecha de formato aaaa-mm-dd. El pattern que tengo es el siguiente:

/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]/

El problema es que solo valora que haya 4 numeros como minimo, guion, 2 numeros como minimo, guion, 2 numeros mas como minimo.
O sea, que 12345-1234-12 lo encuentra correcto, cuando lo correcto seria 1234-12-12.

¿Alguien sabe qué me dejo?
Gracias

Por marticps

Claber

103 de clabLevel



Genero:Masculino  

Aprendiz de Todo

chrome
Citar            
MensajeEscrito el 11 Abr 2011 02:29 pm
Por cierto, he provado
/[0-9]{4}-[0-9]{2}-[0-9]{2}/

Y tampoco me funciona

Por marticps

Claber

103 de clabLevel



Genero:Masculino  

Aprendiz de Todo

chrome
Citar            
MensajeEscrito el 11 Abr 2011 04:57 pm
Pues a mi sí me funciona. Y no es "como mínimo" sino exactamente 4 dígitos seguidos de exactamente un guión seguido exactamente por dos dígitos seguidos por exactamente un guión seguido exactamente por dos dígitos.

Para la expresión:

Código :

/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]/


Esto: 2011-04-11 pasa el test, esto: 2011-4-11 no. Y esto: 2011-2012-11 no pasa.

Para la segunda expresión yo haría una mejora:

Código :

/[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}/


De esa forma, esto: 2011-04-11 pasa la prueba, y esto: 2011-4-11 también.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 11 Abr 2011 05:40 pm
/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]/

Esto me deja hacer 1234-12-1234 y me pasa la prueva... ni 1234-1234-12 ni 12345-12-12 pasan...

debo hacer algo mal, pero no se el que...

Para la segunda expresion el problema es que me interesa el formato aaaa-mm-dd para la base de datos...

Muchas gracias

Por marticps

Claber

103 de clabLevel



Genero:Masculino  

Aprendiz de Todo

chrome
Citar            
MensajeEscrito el 11 Abr 2011 06:01 pm
Pues tendrías que pegar aquí el código completo de cómo usas la expresión regular, yo probé esas expresiones así:

Código Javascript :

<script type="text/javascript">
function testear() {
   // if (/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]/.test("2001-4-11")) {
   if (/[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}/.test("2011-4-11")) {
      document.write("correcto");
   } else {
      document.write("incorrecto");
   }
}

testear();
</script>
<body>
</body>

Claro que esto es solo para probar las regex...

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 11 Abr 2011 06:04 pm

Código :

    Data: function(value, paramsObj){
       var paramsObj = paramsObj || {};
       var mensaje = paramsObj.falloMensaje || "La data no és vàlida!";
       Validar.Format(value, { falloMensaje: mensaje, pattern: /[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]/ } );
       return true;
    },

Por marticps

Claber

103 de clabLevel



Genero:Masculino  

Aprendiz de Todo

chrome
Citar            
MensajeEscrito el 11 Abr 2011 06:07 pm
Es un script de validacion de formulario que encontré por internet i modifiqué para que esté a mi gusto...

Por marticps

Claber

103 de clabLevel



Genero:Masculino  

Aprendiz de Todo

chrome
Citar            
MensajeEscrito el 11 Abr 2011 06:24 pm
Pues algo más debe estar interfiriendo, tendrás que bucear en el código del script que has modificado...

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.