Validar una fecha con expresiones regulares en PHP

Esta función valida que se introduce una fecha en formato dd-mm-yyyy

function validar_fecha($fecha){
if (ereg(“(0[1-9]|[12][0-9]|3[01])[-](0[1-9]|1[012])[-](19|20)[0-9]{2}”, $fecha)) {
return true;
} else {
return false;
}
}

Sergio Mejias Sánchez

Director de la plataforma de publicación de contenidos digitales Bubok

También te podría interesar...

6 respuestas

  1. Hend dice:

    Hola, el script es una maravilla… pero me gustarí­a saber si hay algo igual para la hora en formato hh:mm:ss

    lo he estado intentando a partir de este código pero no entiendo por qué no lo logro

    gracias, un saludo

  2. Excelente me funcionó de maravilla en asp.net

  3. jorge isaac dice:

    esta bueno tu script, pero podrias explicarlo un poco y ademas que se le tendira q cambiar para que pueda validar fechar yymmdd

  4. janckos dice:

    // yyyy/mm/dd
    function is_valid_date($str) {
    return (!preg_match(‘/^(19|20)[0-9]{2}\/(0[1-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])$/’, $str)) ? FALSE : TRUE;
    }
    // Example
    echo (is_valid_en_date (“2008/01/31”)) ? “VALID date”:”INVALID date”;

  5. JULIO dice:

    function ValidarFecha($fecha) //fecha en formato (dd/mm/yyyy) dd=dia, mm=mes, yyyy = año
    { //valida fecha con los siguientes formatos d/m/yyyy, dd/mm/yyyy, d/mm/yyyy, dd/m/yyyy
    $patron = “/^(([1-9]{1})|([0]{1}[1-9]{1})|([1-3]{1}[0-1]{1})|([1-2]{1}[0-9]{1}))([-]|[\/])(([1-9]{1})|([0-0]{1}[1-9]{1})|([1-1]{1}[0-2]{1}))([-]|[\/])([0-9]{4})$/”;

    if(preg_match($patron, $fecha) === 1):
    return TRUE;
    else:
    return FALSE;
    endif;
    }

  6. JULIO dice:

    Esta puede servir tambien:

    function ValidarFecha($fecha) //fecha en formato (dd/mm/yyyy) dd=dia, mm=mes, yyyy = año
    { //valida fecha con los siguientes formatos d/m/yyyy, dd/mm/yyyy, d/mm/yyyy, dd/m/yyyy
    $patron = “/^(([1-9]{1})|([0]{1}[1-9]{1})|([1-3]{1}[0-1]{1})|([1-2]{1}[0-9]{1}))([-]|[\/])(([1-9]{1})|([0-0]{1}[1-9]{1})|([1-1]{1}[0-2]{1}))([-]|[\/])([0-9]{4})$/”;

    if(preg_match($patron, $fecha) === 1):
    return TRUE;
    else:
    return FALSE;
    endif;
    }

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *