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:
  1. function is_date($fecha){
  2. //Comprueba si la cadena introducida es de la forma D/m/Y (15/04/1920)
  3.     if (ereg("([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})", $fecha, $bloques)){
  4.         if (($bloques[2]>12)|($bloques[2]<1)){
  5.             return FALSE;
  6.         }
  7.         if (($bloques[2]==4)|($bloques[2]==6)|($bloques[2]==9)|($bloques[2]==11)){
  8.             $dias_mes = 30
  9.         }else{
  10.             if ($bloques[2]==2){ //febrero
  11.                 if((($bloques[3]%4==0)&(!($bloques[3]%100==0)))|($bloques[3]%400==0)){
  12.                     $dias_mes = 29
  13.                 }else{
  14.                     $dias_mes = 28
  15.                 }
  16.             }else{
  17.                 $dias_mes = 31
  18.             }
  19.         }
  20.         if (($bloques[1]<1)|($bloques[1]>$dias_mes)){
  21.             return FALSE;
  22.         }
  23.     }else{
  24.         return FALSE;   
  25.     }
  26.     return TRUE;
  27. }

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: