Skip to content

Instantly share code, notes, and snippets.

@BenjaminGuV
Created May 28, 2012 11:22
Show Gist options
  • Save BenjaminGuV/2818635 to your computer and use it in GitHub Desktop.
Save BenjaminGuV/2818635 to your computer and use it in GitHub Desktop.
Validar datos
<?php
/**
*
*/
class Validar
{
function __construct()
{
# code...
}
private function limpiar( $datos )
{
$datos = trim( $datos );
$datos = htmlspecialchars( $datos, ENT_QUOTES, 'UTF-8' );
$datos = mysql_real_escape_string($datos);
//$datos = utf8_decode( $datos );
return $datos;
}
public function numerico( $datos )
{
$datos = $this->limpiar( $datos );
if ( !(is_numeric( $datos )) ) {
$datos = false;
}
return $datos;
}
public function texto( $datos )
{
$datos = $this->limpiar( $datos );
if ( !is_string( $datos ) ) {
$datos = false;
}
return $datos;
}
public function fecha( $patron, $datos )
{
$datos = $this->limpiar( $datos );
if ( !preg_match( $patron, $datos) ) {
$datos = false;
}else{
$datos = array(
'sin' => $datos,
'con' => $this->cambFormFecha( $patron, $datos )
);
}
return $datos;
}
public function precio( $datos )
{
$datos = $this->limpiar( $datos );
$datos = $this->numerico( $datos );
if ( $datos ) {
$precio = number_format( $datos, 2, '.', ',' );
$datos = array(
'con' => $precio,
'sin' => $datos
);
} else {
$datos = false;
}
return $datos;
}
private function cambFormFecha( $patron, $fecha )
{
list( $dia, $mes, $anio ) = preg_split($patron, $fecha);
switch ( $mes ) {
case 'Jan':
$mes = "01";
break;
case 'Feb':
$mes = "02";
break;
case 'Mar':
$mes = "03";
break;
case 'Apr':
$mes = "04";
break;
case 'May':
$mes = "05";
break;
case 'Jun':
$mes = "06";
break;
case 'Jul':
$mes = "07";
break;
case 'Aug':
$mes = "08";
break;
case 'Sep':
$mes = "09";
break;
case 'Oct':
$mes = "10";
break;
case 'Nov':
$mes = "11";
break;
case 'Dec':
$mes = "12";
break;
}
$fecha = $anio . '-' . $mes . '-' . $dia;
return $fecha;
}
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment