5 funções em PHP para validação
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