Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/05/2005, 17:51
occiso
 
Fecha de Ingreso: febrero-2005
Mensajes: 198
Antigüedad: 19 años, 3 meses
Puntos: 5
Problema al validar fecha con expresion regular

Saludos gente !!!

vereis encontré por internet una expresion regular para validar una fecha con el formato dd/mm/aaaa. pero resulta que al probarlo con el explorer me funciona bien, sin embargo con el Opera y con el Firefox me esta dando errores. Como de expresiones regulares no tengo ni idea me gustaria que alguien me dijera que es lo que esta mal para que falle con esos navegadores.

ahi teneis un enlace a la pagina, recordad que con el explorer no os fallará.
enlace

Y tambien pongo el codigo fuente, por si teneis prisa y esas cosas...

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<
HTML>
<
HEAD>
<
TITLE> New Document </TITLE>
<
SCRIPT LANGUAGE="JavaScript">

  function 
fecha(idCampo){
    var 
datePat = /^(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])(d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)([/])(d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])(d{4}))|((29)(.|-|/)(02)([/])([02468][048]00))|((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9][0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9][13579][26])))/;                                                
        
var 
matchArray 
document.getElementById(idCampo).value.match(datePat);

    if (
matchArray != nullalert("fecha valida");
    else 
alert("fecha invalida formato dd/mm/aaaa");    
 }

</SCRIPT>
</HEAD>

<BODY>
<b>Validar una fecha con el formato dd/mm/aaaa: </b>
<INPUT TYPE="text" NAME="texto" id="texto" size="30"/>
<BUTTON onclick="fecha('texto')">validar</BUTTON>
</BODY>
</HTML> 
PD: hay una linea que esta mal, le añade espacios en blanco no se por que,debe ser así:
document.getElementById(idCampo).value.match(dateP at);