5 funções em PHP para validação

1 minutos de leitura

Atualizado em:

Separei algumas funções muito úteis que criei e outras adaptei para o Gospel 10 para validações em geral, confiram:

1. Função para validar URL

function validar_url($url) {
	return preg_match('|^http(s)?://[a-z0-9-]+(\.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url);
}

2. Função para validar um domínio

Nesta função são passados a URL a ser verificada e o domínio que ela deve pertencer, ex:


Ela depende da função validar_url(); mostrada anteriormente

function validar_dominio($url,$validar){
	if (!validar_url($url))
		return false;

	if (eregi($validar,$url))
		return true;
	return false;
}

3. Validar email

function verificar_email($email){
   $mail_correcto = 0;
   //verifico umas coisas
   if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){
      if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," "))) {
         //vejo se tem caracter .
         if (substr_count($email,".")>= 1){
            //obtenho a terminação do dominio
            $term_dom = substr(strrchr ($email, '.'),1);
            //verifico que a terminação do dominio seja correcta
         if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){
            //verifico que o de antes do dominio seja correcto
            $antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);
            $caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);
            if ($caracter_ult != "@" && $caracter_ult != "."){
               $mail_correcto = 1;
            }
         }
      }
   }
}

if ($mail_correcto)
   return 1;
else
   return 0;
} 

4. Validar Hora

function validaHora($hora){

	$t=explode(":",$hora);
	if ($t=="")
		return false;
	$h=$t[0];
	$m=$t[1];
	
	if (!is_numeric($h) || !is_numeric($m) )
		return false;
		
	if ($h<0 || $h>24)
		return false;
	if ($m<0 || $m>59)
		return false;
		
	return true;
}

5. Valida Data

function validaData($data){
	
	$t=explode("/",$data);
	if ($t=="")
		return false;
	$dia=$t[0];
	$mes=$t[1];
	$ano=$t[2];
	
	if (!is_numeric($dia) || !is_numeric($mes) || !is_numeric($ano))
		return false;
		
	if ($dia<1 || $dia>31)
		return false;
	if ($mes<1 || $mes>12)
		return false;
	if ($ano<1800 || $ano>2100)
		return false;
	
	return true;
}

Deixe um comentário