Autor
|
Tema: [RETOS] Expresiones Regulares (Leído 14,822 veces)
|
criskapunk
Desconectado
Mensajes: 277
|
Como no publicaron nada todavía, para que no muera el hilo les dejo otro reto. Validar fechas con el siguiente formato: dd/mm/aaaa.(La cadena 1/2/2000 no sería válida. Tendría que ser 01/02/2000, por ejemplo). - Comprobar si la cantidad de días es correcta para el mes en cuestión. Por ejemplo, no sería correcta 30/02/2000. Para Febrero tomamos como valor de 28 días, sin considerar años bisiestos (No se si esto se podrá hacer con RegExp xD). - El intervalo de años debe estar entre 1900 y 2050. Edito:Ya la terminé. Es ILEGIBLE Un saludo.
|
|
« Última modificación: 26 Agosto 2011, 15:49 pm por R0LFback »
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
^(?>3[01]|0[1-9]|[12]\d)/(?>(?<=(?>0[1-9]|[12]\d)/)(?>0[1-9]|1[012])|(?<=31/)(?>0[13578]|1[02])|(?<=30/)(?>0[13-9]|1[012]))/(?>19\d\d|20[0-4]\d|2050)$
Pruebenlo me costo un poco PD: No se sabe si el año es bisiesto o no y creo que eso no se puede saber
|
|
« Última modificación: 27 Agosto 2011, 14:47 pm por raul338 »
|
En línea
|
|
|
|
Shell Root
|
No se porque no funciona con 30/12/2011, esta correcta la fecha no?, y falta validar 00/12/2011, 00/00/2011, 01/13/2011
|
|
« Última modificación: 27 Agosto 2011, 02:00 am por Shell Root »
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
criskapunk
Desconectado
Mensajes: 277
|
Raul, tu expresión toma como válidos los años del 2051 al 2059. Era hasta el 2050 inclusive. Edito:@Shell Root: Las fechas 00/12/2011 y 00/00/2011 no se tienen que validar, no existen los días o meses cero. Un saludo y gracias por participar
|
|
« Última modificación: 27 Agosto 2011, 02:12 am por R0LFback »
|
En línea
|
|
|
|
Shell Root
|
¬¬ Crees que soy estupido o que? Obviamente no, pero la ExpReg la filtra como si fuera una fecha correcta.
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
criskapunk
Desconectado
Mensajes: 277
|
No era para que te lo tomes a mal. Entendí mal tu mensaje. Disculpas.
Un saludo.
|
|
|
En línea
|
|
|
|
Valkyr
Desconectado
Mensajes: 646
Divide y vencerás
|
Perdón por no haber posteado ningún reto pero me ha sido imposible conectarme apenas más de cinco minutos. Yo he sacado esta expresión, es un poco engorrosa pero creo que puede valer: ^((0[1-9]|[12]\d)/(0[13-9]|1[0-2])|28/02|3(0/(04|06|09|11)|1/(01|03|05|07|08|10|12)))/(19\d\d|20([0-4]\d|50))$ Supongo que quizás podría simplificarse pero no es cuestión de matarme mirando la expresión a estas horas. Saludos.
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Ya arregle la mía @Valkyr link: Tu Expresion regular no me toma como valida estas fechas Edit, estas fechas deberian ser validas 31/07/2000 30/07/2000 01/02/2000 25/05/2002 15/07/2000 28/02/2001 31/05/2001 30/12/2011 29/02/2001
y estas no 01/00/2011 31/04/2001 00/12/2011 00/00/2011 01/13/2011 30/02/2001 25/05/2051
|
|
« Última modificación: 27 Agosto 2011, 14:47 pm por raul338 »
|
En línea
|
|
|
|
Shell Root
|
Emmm no @raul338,
Intentad con 01/00/2011
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Emmm no @raul338,
Intentad con 01/00/2011
Editado
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Expresiones regulares
Programación Visual Basic
|
chrominum
|
1
|
2,522
|
30 Enero 2008, 23:09 pm
por LeandroA
|
|
|
Expresiones Regulares + Php wtf!
PHP
|
Shell Root
|
4
|
4,741
|
29 Marzo 2010, 01:24 am
por Castg!
|
|
|
expresiones Regulares
.NET (C#, VB.NET, ASP)
|
Choclito
|
3
|
5,850
|
1 Mayo 2010, 05:09 am
por raul338
|
|
|
Expresiones Regulares
Programación General
|
Psyke1
|
9
|
5,880
|
1 Junio 2010, 02:12 am
por SeC
|
|
|
Retos de Expresiones Regulares
« 1 2 3 »
Ejercicios
|
~ Yoya ~
|
20
|
21,047
|
10 Marzo 2013, 19:28 pm
por cyberserver
|
|