Oct
01
2008

Expresiones regulares con PHP

Bueno luego de estar buscando algunas expresiones útiles aquí les dejo algunas funciones que utilizo para validar algunos datos que provienen de formularios:

   
 /**
    * Función que valida un campo de tipo email
    * var: campo de texto a validar
    * Devuelve FALSE no cumple y TRUE si cumple
    */
 
   function valida_email($var){
      if(!ereg("([A-Za-z0-9_.-]+@[A-Za-z0-9_.-]+\.[A-Za-z0-9_-]+)",$var)) {
        return false;
      }else{
        return true;
      }
    }

    /**
    * Función que valida un texto del alfanumérico con acentos en mayúsculas y minúculas
    * var: campo de texto a validar
    * min: caracteres mínimos
    * max:  caracteres máximos
    * Devuelve FALSE no cumple y TRUE si cumple
    */
 
    function valida_clave($var,$min,$max){
      if(!eregi("^[a-zA-ZñáéíóúüÑÁÉÍÓÚÜ0-9_]{".$min.",".$max."}$",$var)) {
        return false;
      }else{
        return true;
      }
    }
 
    function valida_texto_latino_con_espacio($var,$min,$max){
      if(!eregi("^[a-zA-ZñáéíóúüÑÁÉÍÓÚÜ ]{".$min.",".$max."}$",$var)) {
        return false;
      }else{
        return true;
      }
    }
 
    function valida_texto_latino($var,$min,$max){
      if(!eregi("^[a-zA-ZñáéíóúüÑÁÉÍÓÚÜ]{".$min.",".$max."}$",$var)) {
        return false;
      }else{
        return true;
      }
    }
 
    function valida_texto($var,$min,$max){
      if(!eregi("^[a-zA-Z]{".$min.",".$max."}$",$var)) {
        return false;
      }else{
        return true;
      }
    }
 
    function numero_rango($var,$min,$max){
 
        if(!eregi("^[0-9]{".$min.",".$max."}$",$var)) {
              return false;
          }else{
              return true;
        }
    }
 
        $var = preg_replace("/[^\w]/","",$var);
        if ($valor == "") {
            return false;
        }
 
        $var=(int)($var);
 
        if ($var>$max){
            return false;
        }
        if ($var<$min){
            return false;
        }
 
        return true;
    }

//Verificar y validar fechas
//Considerando que puede usarse los siguiente caracteres como separador de dígitos: “/”, “-” y “.”; además del siguiente formato DD-MM-YYYY.

   function check_date($date){
      $seperator = "[\/\-\.]";
      return preg_match("#^(((0?[1-9]|1\d|2[0-8]){$seperator}(0?[1-9]|1[012])|(29|30){$seperator}(0?[13456789]|1[012])|31{$seperator}(0?[13578]|1[02])){$seperator}(19|[2-9]\d)\d{2}|29{$seperator}0?2{$seperator}((19|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))$#", $date)==1?true:false;
   }

//Validando dirección IP
//IP’s válidas entre 0.0.0.0 y 255.255.255.255

 function valid_ip($ip_address){
      $val_0_to_255 = "(25[012345]|2[01234]\d|[01]?\d\d?)";
      $pattern = "#^($val_0_to_255\.$val_0_to_255\.$val_0_to_255\.$val_0_to_255)$#";
    return preg_match($pattern, $ip_address, $matches);
 }

//Email correo@dominio.com

   function checkEmail($email){
    $reg = "#^(((([a-z\d][\.\-\+_]?)*)[a-z0-9])+)\@(((([a-z\d][\.\-_]?){0,62})[a-z\d])+)\.([a-z\d]{2,6})$#i";
    return preg_match($reg, $email);
 }
Written by doutdex in: PHP | Tags: ,

No Comments »

RSS feed for comments on this post. TrackBack URL


Leave a Reply

TheBuckmaker.com Wordpress Themes | Geld von Privat, Streaming Audio
футбол онлайн, live football, canlı izle, football streaming, football forum, football forums, canlı maç, football highlights, maç özeti, live football streaming, stream live football, free football streaming,