|
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Parceiros - CSS para Web Design - S.O.S Designers - Slackware-Brasil - Crie seu Web site - Oficina da Net |
Validar um endereço email em PHPVerificar a validez de um endereço de correio electrónico, isto é, verificar que um email está bem relatado. Vamos ver uma função muito útil em PHP que serve para verificar a validez de um correio. Na realidade verifica se um endereço de correio electrónico está bem escrito sintaticamente, deixando de lado as comprovações de se o mail existe ou não realmente, as quais não se podem fazer tão facilmente.
Vamos escrever uma função que se chama verificar_email e recebe a cadeia de texto com o email que queremos validar. Se o mail é correcto desde o ponto de vista sintático, isto é, se tem um nome de usuário, uma arroba e uma terminação como o nome de um domínio ou subdomínio, etc, retornará um 1, é dizer, verdadeiro. No caso de que o mail não esteja correctamente escrito, a função retornaria 0, que equivale a falso. A função em si considera, num principio que o email é errôneo e realiza uma serie de comprovações que, se todas respondem corretamente, dão como conclusão que o email estava correcto. Se alguma de esas comprovações não era correcta, não se chegaria ao fim das comprovações e obteríamos como resultado como se supôs ao principio,isto é, como incorrecto. Código da função 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; } As comprovações No primeiro if verifico que o email tem pelo menos 6 caracteres (o mínimo), que tem uma arroba e só uma e que não está colocada nem no principio nem no fim. No segundo if verifica que não tem alguns caractres não permitidos. E os restantes fazem comprovações das diferentes partes do endereço de correio. Finalmente, restornamos a variável local utilizada para guardar a validez ou incorreção do endereço.
Autoria e outras referências sobre este artigo Dentro deste artigo: + 1 manual relacionado + 2 Categorias relacionadas + 3 Comentários sem rever
Manuais relacionados com este artigo Dentro de Workshop de PHP Anterior: Enviar e-mails pelo PHP Categorias relacionadas Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo: + Entrar em PHP+ Entrar em Scripts em PHP Comentário sem rever
|
| Sobre nós | Copyright | Anuncie | Entrar em contato | <criarweb> |