Hola chicos,
aquí vengo con otra de mis burradas.. hice mi super mega clase de validación de datos, pero oh! sorpresa, no me acepta los acentos ¬¬' ni la eñe..
en fin lo estoy haciendo con preg_match, y siento que algo me estoy perdiendo.. será que mi expresión regular esta mal???
jejeje les dejo la clasesilla, cualquier ayuda, será bien recibida ^^
Código PHP:
Ver original<?php
class valida{
private $rsp;
function __construct(){
$this -> rsp = null;
}
function vacio($campo="", $valor=""){
$this -> rsp .= "<br>El campo <strong>".$campo."</strong> no puede estar vacio";
return true;
}
else
return false;
}
function numeros($campo="",$valor=""){
if(!$this -> vacio($campo,$valor))
$this -> rsp .= "<br>El campo <strong>".$campo."</strong> debe contener solo números";
}
function caracteres($campo="",$valor=""){
if(!$this -> vacio($campo,$valor))
if(!preg_match("/^([a-zA-ZáéíóúàèìòùÁÉÍÓÚÀÈÌÒÙÄËÏÖÜäëïöü ]+)$/",$valor)) $this -> rsp .= "<br>El campo <strong> ".$campo."</strong> debe contener solo caracteres".$valor;
}
function correo($campo="",$valor=""){
if(!$this -> vacio($campo,$valor))
if(!preg_match("/^[^@]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+$/",$valor)) $this -> rsp .= "<br>El campo <strong>".$campo."</strong> no contiene un correo electronico valido";
}
function alfanumerico($campo,$valor){
if(!$this -> vacio($campo,$valor))
if(!preg_match("/^([0-9a-zA-ZáéíóúàèìòùÁÉÍÓÚÀÈÌÒÙÄËÏÖÜäëïöüñÑ;\.,-_{}*!\"&%()=¿?¡<>\/ ]+)$/",$valor)) $this -> rsp .= "<br>El campo <strong>".$campo."</strong> contiene caracteres invalidos";
}
function telefono($campo,$valor){
if(!$this -> vacio($campo,$valor))
$this -> rsp .= "<br>El campo <strong>".$campo."</strong> contiene caracteres invalidos";
}
function comprobarDatos($campos){
foreach($campos AS $clave => $valor){
switch($valor['tipo']){
case 'numerico':
$this -> numeros($clave, $valor["valor"]);
break;
case 'caracter':
$this -> caracteres($clave, $valor["valor"]);
break;
case 'correo':
$this -> correo($clave, $valor["valor"]);
break;
case 'alfanumerico':
$this -> alfanumerico($clave, $valor["valor"]);
break;
case 'telefono':
$this -> telefono($clave, $valor["valor"]);
break;
default:
die("Falta tipo de dato para comprobar"); }
}
return $this -> rsp;
}
}
?>