Funcion is_date()

Bueno, la acabo de hacer, y me apetecía compartirla. Imagino que habrá alguna otra por ahí, pero esta es mía, mi tesooooro :)

[php]
function is_date($fecha){
//Comprueba si la cadena introducida es de la forma D/m/Y (15/04/1920)
if (ereg(”([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})”, $fecha, $bloques)){
if (($bloques[2]>12)|($bloques[2]<1)){
return FALSE;
}
if (($bloques[2]==4)|($bloques[2]==6)|($bloques[2]==9)|($bloques[2]==11)){
$dias_mes = 30;
}else{
if ($bloques[2]==2){ //febrero
if((($bloques[3]%4==0)&(!($bloques[3]%100==0)))|($bloques[3]%400==0)){
$dias_mes = 29;
}else{
$dias_mes = 28;
}
}else{
$dias_mes = 31;
}
}
if (($bloques[1]<1)|($bloques[1]>$dias_mes)){
return FALSE;
}
}else{
return FALSE;
}
return TRUE;
}
[/php]

5 comentarios so far »

  1. Criticón Windows XP Internet Explorer 7.0 said,

    Wrote on Septiembre 14, 2007 @ 16:50

    mmmmm
    existe una función checkdate, a la cual se le pasa como parámetros el día, mes y año por separado, y te devuelve si es correcta o no.

    http://php.net/checkdate

    Pero la tuya también está bien… xD

  2. TheKevin Windows XP Mozilla Firefox 2.0.0.7 said,

    Wrote on Septiembre 22, 2007 @ 16:34

    Y además date(’t',mktime(0,0,0,0,$bloques[2],$bloques[3]) te devuelve el número de días de ese mes y no hace falta tanto rollo xD.

  3. TheKevin Windows XP Mozilla Firefox 2.0.0.7 said,

    Wrote on Septiembre 22, 2007 @ 16:35

    Perdon, falta cerrar el date() xD.

  4. RaFa...eL Windows XP Mozilla Firefox 2.0.0.7 said,

    Wrote on Septiembre 24, 2007 @ 01:11

    Jeje, esta función es casi casi de las de Pascal que nos dio Alma en Programación I (por lo de es_bisiesto()).

  5. Pablo Hernández Windows XP Mozilla Firefox 2.0.0.13 said,

    Wrote on Abril 1, 2008 @ 23:22

    jajaja, como se ve que no tienen ideales de programación… La función está buenísima, sirve para saber si el usuario ingresó bien la fecha, le voy a modificar un poco para agregarle la capacidad de elegir entre distintos formatos, felicidades, me ahorraste horas de tonteo-error… jajaja

Comment RSS · TrackBack URI

Leave a Comment

Nombre: (Required)

E-mail: (Required)

Website:

Comment: