Bom, optei por comentar o script aqui apresentado ao invés de
explicá-lo no texto. Esse artigo foi retirado do site
www.asphp.com.br, que é meu e
também nunca o termino :/ (tá brabo arranjar tempo :/. O estudo, o
trabalho e a balada do fim de semana estão me deixando sem tempo :])
Mas esta aí, não modifique a expressão regular se não souber muito
bem sobre seu funcionamento.
Espero que este script auxilie o pessoal :P e quem precisa ter um
site seguro, que não permita os sacanas fazerem cadastros com
e-mails inválidos.
<?
/**
Define o tipo de conteúdo usado no documento, no momento usado é o XHTML, no entanto esta instrução pode ser deletada do script, apenas adapte as tags presentes no script para HTML4 se for usá-lo.
**/
header("content-type: text/xhtml");
/** ex: $email = $_GET['email'] ..$_REQUE... alguma informação vinda de um formulário etc e tal **/
$email = "webmaster@asphp.com.br";
/**
Expressão regular que verifica se a string tem a sintaxe de um endereço de e-mail, suporte infinitos sufixos: .com.br, .ms.gov.br, .br
Na expressão regular ela suporta os caracteres "-","_" e o "." como partes do login.
no domínio ela aceita apenas o caractere "-"
sem contar que ele suporta números :]
nos sufixos ele suporta letras e números
**/
eregi("([\._0-9A-Za-z-]+)@([0-9A-Za-z-]+)(\.[0-9A-Za-z\.]+)",$email,$match);
/**
Divide os valores dos casamentos da ER e separa em variáveis, $email_comp é o email completo para você verificar, portanto se a variável $email_comp for igual a $email o e-mail será válido
**/
list($email_comp,$login,$domain,$sufixies) = $match;
/**
Inicia a verificação do email, conforme dito, se $email_comp for igual a $email, o email será válido
**/
print ("<br/>\n<font face=\"verdana\" size=\"2\">\n<li>");
if ($email_comp == $email) {
print ("E-mail ($email) é válido...");
/** Instruções caso o e-mail seja válido aqui **/
}
else {
print ("E-mail ($email) é inválido...");
/** Instruções caso o e-mail seja INválido aqui **/
}
print ("</li>\n</font>\n");
/**
Não tive muito tempo para testar, mas qualquer bug favor me contatar
webmaster@asphp.com.br
**/
?>