Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/01/2007, 03:09
Avatar de holahola
holahola
 
Fecha de Ingreso: mayo-2005
Ubicación: Móstoles - (Madrid)
Mensajes: 214
Antigüedad: 19 años, 10 meses
Puntos: 1
Re: Como valido fecha

Hola Superlinux.

Se puede hacer de distintas formas. Una de ella podría ser con esta función (se valida si la fecha existe o no, por ejemplo 29/02/2005 no sería válida por no ser año bisiesto; tampoco sería válido 31/13/2006 porque el mes 13 no existe):


Código PHP:
function validarfecha($dia$mes $anio){
    
$fechaok=false;
    
//probamos si la fecha es válida (tiene que ser mes,dia,año)
      
if (checkdate($mes,$dia,$anio))
      {
        
$fechaok=true;
    }
    return 
$fechaok;
}
?> 
También se puede validar con expresiones regulares, el formato y el número de dígitos de cada uno de los componentes de la fecha, por ejemplo:

Código PHP:
    //-se valida fecha con formato aaaa/mm/dd
    
$error='N';

    if ( !
ereg"(^[0-9]{4})/([0-9]{2})/([0-9]{2}$)"$fecha$regs ) ) 
    {
        
$_SESSION['mensaje_error'].="\\n --> ¡Formato fecha incorrecto! (formato aaaa/mm/dd). ";
        
$error='S';
    } 
Dale un vistazo a http://es2.php.net/manual/es/function.ereg.php; y si quieres ahondar más sobre expresiones regulares te dejo este tutorial que me localizó google (yo no me considero para nada un experto en expresiones regulares ) : http://bulma.net/body.phtml?nIdNoticia=770

Quizás lo más correcto sería utilizar las 2 validaciones conjuntamente.

Saludos.

Última edición por holahola; 06/01/2007 a las 13:03 Razón: expresiones regulares