Si quieres validar una fecha y no quieres usar expresiones puedes usar la siguiente función.
Lo que permite es validar cualquier fecha ingresada por el usuario, incluyendo aquellos formatos con distintos separadores, por ejemplo: “23/04/2009″ ó “23-04-2009″ ó “23.04.2009″.
Además permite tres formatos distintos:
- Por defecto acepta el formato dd/mm/yyyy
- Al definir el parámetro “$format” con el valor “mdy”, se validarán fechas con el formato: mm/dd/yyyy
- Por último, si $format lo definimos como “ymd”, se validarán fechas del tipo: yyyy/mm/dd
function datecheck($input,$format="") { $separator_type= array( "/", "-", "." ); foreach ($separator_type as $separator) { $find= stripos($input,$separator); if($find<>false){ $separator_used= $separator; } } $input_array= explode($separator_used,$input); if ($format=="mdy") { return checkdate($input_array[0],$input_array[1],$input_array[2]); } elseif ($format=="ymd") { return checkdate($input_array[1],$input_array[2],$input_array[0]); } else { return checkdate($input_array[1],$input_array[0],$input_array[2]); } $input_array=array(); }
Ejemplos de uso:
$fecha= "24-09-2009"; if(datecheck($fecha)===false){ echo "La fecha no es correcta"; }else{ echo "La fecha es correcta"; } // imprime "La fecha es correcta"
$fecha= "32-09-2009"; if(datecheck($fecha)===false){ echo "La fecha no es correcta"; }else{ echo "La fecha es correcta"; } // imprime "La fecha no es correcta"
Entradas Relacionadas
Tags: PHP, validación
Buen artículo, Kick
Gracias por compartirlo.