Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/04/2009, 13:30
Avatar de Erikfrancisco
Erikfrancisco
 
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 21 años
Puntos: 4
validacion de fecha con php

Hola amigos... hace ya un buen tiempo que no nos vemos por aqui debido a trabajo y en esta ocación quiero compartir con ustedes una secuencia de codigo que realice hace un buen rato tal vez a algunos de ustedes les sirva de algo.
Este codigo se encarga de validar una fecha marcando los errores que se encuentren y corrigiendo formatos por ejemplo en lo personal prefiero que las fechas se escriban en un campo de texto en lugar de utilizar campos select ya que se me facilita mas escribir '4/1/5' que estar utilizando campos de selección y este código se encarga de corregir lo que ingresé en el caso de este ejemplo me devolverá '2005-01-04' ya que la función devuelve la fecha lista para guardarse en una base de datos. Bueno los archivos se explican solos espero los estudien y si encuentran fallas por favor mencionenlas para corregirlas o cualquier duda tambien con gusto se les atiende. Cuidense y saludos a todos.

funciones_de_cadena.php
Código PHP:
<?php
/************************************************************************************************

Autor: Erik Francisco Torres Zavala
Fecha de Creación: 01-03-07
Fecha de Última Modificación: 25-03-09
Descripción del Archivo: Estas funciones poseen un nombre un tanto descriptivo conforme a lo que
                         realiza cada una de ellas

************************************************************************************************/

/*----Esta función se encarga de eliminar todos los caracteres que sean igual a la variable----*/
/*-$caracter_a_eliminar y se encuentren dentro de la cadena que se paso en la variable $cadena-*/
function suprime_caracteres$cadena$caracter_a_eliminar 
{
   
$corregida str_replace$caracter_a_eliminar''$cadena );
   return 
$corregida;
}
/*//////////////////////////////////////////////|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/

/*---Esta función pinta del color especificado en la variable $color y en negritas la cadena---*/
/*--------------------------------pasada en la variable $cadena--------------------------------*/
function colorea_cadena$cadena$color )
{
   
$con_color '<font color="'.$color.'"><b>'.$cadena.'</b></font>';
   return 
$con_color;
}
/*//////////////////////////////////////////////|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/

/*---La siguiente función lo que hace es examinar la cadena pasada en la variable $cadena y----*/
/*-devolver la misma pero sólo con números y o letras dependiendo de lo que se halla indicado--*/
/*--en la variable $validar la cual debe tener como valor 'letras', 'números' o 'let_y_num'----*/
function extraer_letras_y_o_numeros$cadena$validar )
{
   
// Creamos 2 array con los caracteres validos correspondientes
   
$abecedario = array( 'A''B''C''D''E''F''G''H''I''J''K''L''M''N',
                         
'Ñ''O''P''Q''R''S''T''U''V''W''X''Y''Z' );
   
$numeros    = array( '0''1''2''3''4''5''6''7''8''9' );

   if( 
$validar == 'letras' )
      
$validos $abecedario;
   else
    {
       if( 
$validar == 'numeros' )
         
$validos $numeros;
       else
         
$validos array_merge$abecedario$numeros );
    }

   
$corregida ''// Creamos la variable que contendá la cadena corregida

   
for( $e 0$e strlen$cadena ); $e++ ) // Recorremos cada caracter de nuestra cadena
   
{
      foreach( 
$validos as $c_valido )
      {
           
// Si el caracter es valido lo agregramos a nuestra cadena
         
if( substr$cadena$e) == $c_valido )
         {
            
$corregida .= substr$cadena$e);
            
continue1// Continuamos con el siguiente caracter a validar
         
}
      }
   }

   return 
$corregida;
}
/*//////////////////////////////////////////////|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*/
?>
Un ejemplo de como utilizarlo
ejemplo.php
Código PHP:
<?php
header
('Content-Type: text/html; charset=utf-8');
if( 
$_POST'submit' ] )
{
   include( 
'v_fecha.php' ); // Incluimos las funciones de validación de fecha
   
$f valida_fecha$_POST'fecha' ], ''); // evaluamos la fecha

   
if( $f[0] ) // Si se encontraron errores
      
echo "Por favor ingrese una fecha correcta: ".$f[1]."<p/>";
   else 
// Si la fecha es correcta mostramos como se va a guardar en la bd
    
{
      echo 
$f[1]."<p/>"// aquí hacemos lo necesario para guardar en la bd
    
}
}
?>
<html>
<head>
   <title>Ejemplo de validaci&oacute;n de fecha</title>
</head>
<body>
   <form action="ejemplo.php" method="post">
      Ingrese la fecha a evaluar: <input type="text" name="fecha">
      <input type="submit" name="submit" value="Evaluar">
   </form>
</body>
</html>

Última edición por Erikfrancisco; 14/04/2009 a las 15:21