Foros del Web » Programando para Internet » ASPX (.net) »

RegularExpressionValidator

Estas en el tema de RegularExpressionValidator en el foro de ASPX (.net) en Foros del Web. Hola a todos!!!!! tengo una pequeña duda con respecto a un RegularExpressionValidator.... Lo que pasa es que quiero válidar un formato de fecha con este ...
  #1 (permalink)  
Antiguo 24/11/2005, 09:01
Avatar de kejos  
Fecha de Ingreso: septiembre-2005
Mensajes: 100
Antigüedad: 18 años, 7 meses
Puntos: 0
RegularExpressionValidator

Hola a todos!!!!!

tengo una pequeña duda con respecto a un RegularExpressionValidator....

Lo que pasa es que quiero válidar un formato de fecha con este control por lo tanto a este control le tengo las propiedades:

(ID): ReFechaNac

ControlToValidate: TbFechaNac

Display: Static

EnableClientScript: True

Enabled: True

EnableViewState: True

Error Messager: Fecha no válida

Text: Fecha no válida

ValidationExpression:
Cita:
^(?ni:(?=\d)((?'year'((1[6-9])|([2-9]\d))\d\d)(?'sep'[/.-])(?'month'0?[1-9]|1[012])\2(?'day'((?<!(\2((0?[2469])|11)\2))31)|(?<!\2(0?2)\2)(29|30)|((?<=((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(16|[2468][048]|[3579][26])00)\2\3\2)29)|((0?[1-9])|(1\d)|(2[0-8])))(?:(?=\x20\d)\x20|$))?((?<time>((0?[1-9]|1[012])(:[0-5]\d){0,2}(\x20[AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2}))?)$
que la saque del sitio www.regexlib.com y que valida que la fecha este dada en el formato YYYY/MM/DD y acepta formatos de solo fecha, o la fecha y la hora sin diferenciar el separador ya que puede ser / o -

Entonces mi problema es que cuando ejecuto y le doy la siguente fecha que se supone es válida (1952/04/07)...

aún colocandole una fecha válida al textbox me sale el mensaje Fecha no válida y no se porque me esta pasando esto porqué hice lo mismo para validar un e-mail con expresiones regulars y este control si me funciona perfectamente, no sé si será que no me está reconociendo la expresión o que pero me sale siempre el mensaje de error del control

A quien me pueda ayudar con esto se lo agradecería

Gracias
  #2 (permalink)  
Antiguo 24/11/2005, 10:17
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
La expresion regular funciona bien.. no se que problema tengas... bueno.. estoy considerando que la fecha que estás colocando las estás poniendo sin parentesis obviamente verdad..??

Porque probé con así: 1952/04/07

y hace match sin problemas

Mi code es algo como ésto:

Cita:
string sRegExp = @"^(?ni:(?=\d)((?'year'((1[6-9])|([2-9]\d))\d\d)(?'sep'[/.-])(?'month'0?[1-9]|1[012])\2" +
@"(?'day'((?<!(\2((0?[2469])|11)\2))31)|(?<!\2(0?2)\2)" +
@"(29|30)|((?<=((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579]" +
@"[26])|(16|[2468][048]|[3579][26])00)\2\3\2)29)|" +
@"((0?[1-9])|(1\d)|(2[0-8])))(?:(?=\x20\d)\x20|$))?((?" +
@"<time>((0?[1-9]|1[012])(:[0-5]\d){0,2}(\x20[AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2}))?)$";


Match m = Regex.Match("1952/04/07",sRegExp);

if (m.Success)
Response.Write("ok");
else
Response.Write("mal");
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
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 21:45.