elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  [RETOS] Expresiones Regulares
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] 4 Ir Abajo Respuesta Imprimir
Autor Tema: [RETOS] Expresiones Regulares  (Leído 14,955 veces)
criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: [RETOS] Expresiones Regulares
« Respuesta #20 en: 26 Agosto 2011, 14:34 pm »

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 :P

Un saludo.


« Última modificación: 26 Agosto 2011, 15:49 pm por R0LFback » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [RETOS] Expresiones Regulares
« Respuesta #21 en: 27 Agosto 2011, 01:47 am »

Código:
^(?>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 :P me costo un poco

PD: No se sabe si el año es bisiesto o no :xD y creo que eso no se puede saber


« Última modificación: 27 Agosto 2011, 14:47 pm por raul338 » En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: [RETOS] Expresiones Regulares
« Respuesta #22 en: 27 Agosto 2011, 01:57 am »

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 Desconectado

Mensajes: 277



Ver Perfil
Re: [RETOS] Expresiones Regulares
« Respuesta #23 en: 27 Agosto 2011, 02:09 am »

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 :P
« Última modificación: 27 Agosto 2011, 02:12 am por R0LFback » En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: [RETOS] Expresiones Regulares
« Respuesta #24 en: 27 Agosto 2011, 02:13 am »

¬¬ 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 Desconectado

Mensajes: 277



Ver Perfil
Re: [RETOS] Expresiones Regulares
« Respuesta #25 en: 27 Agosto 2011, 02:15 am »

No era para que te lo tomes a mal. Entendí mal tu mensaje. Disculpas.

Un saludo.
En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: [RETOS] Expresiones Regulares
« Respuesta #26 en: 27 Agosto 2011, 03:00 am »

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:

Código:
^((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 Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [RETOS] Expresiones Regulares
« Respuesta #27 en: 27 Agosto 2011, 03:09 am »

Ya arregle la mía  ;D

@Valkyr link: Tu Expresion regular no me toma como valida estas fechas

Código:
30/07/2000
01/02/2000

Edit, estas fechas deberian ser validas

Código:
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
Código:
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
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: [RETOS] Expresiones Regulares
« Respuesta #28 en: 27 Agosto 2011, 06:24 am »

Emmm no @raul338,

Intentad con 01/00/2011
En línea

Te vendería mi talento por poder dormir tranquilo.
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [RETOS] Expresiones Regulares
« Respuesta #29 en: 27 Agosto 2011, 14:48 pm »

Emmm no @raul338,

Intentad con 01/00/2011

Editado :D
En línea

Páginas: 1 2 [3] 4 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Expresiones regulares
Programación Visual Basic
chrominum 1 2,533 Último mensaje 30 Enero 2008, 23:09 pm
por LeandroA
Expresiones Regulares + Php wtf!
PHP
Shell Root 4 4,760 Último mensaje 29 Marzo 2010, 01:24 am
por Castg!
expresiones Regulares
.NET (C#, VB.NET, ASP)
Choclito 3 5,867 Último mensaje 1 Mayo 2010, 05:09 am
por raul338
Expresiones Regulares
Programación General
Psyke1 9 5,942 Último mensaje 1 Junio 2010, 02:12 am
por SeC
Retos de Expresiones Regulares « 1 2 3 »
Ejercicios
~ Yoya ~ 20 21,129 Último mensaje 10 Marzo 2013, 19:28 pm
por cyberserver
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines