PHP: Validando e-mail com expressão regular
Autor: Couto
Categoria: Expressões Regulares, PHP |
Para fazer a validação simples em um endereço de e-mail utiliza a seguinte expressão regular(Os escapes duplos são para aspas duplas, use escapes únicos para aspas simples):
^([a-z0-9_]|\\-|\\.)+@(([az0-9_]|\\-)+\\.)+[a-z]{2,4}$
Para chamar esse código você deve usar o eregi(). O ereg() não funcionará porque a pesquisa precisa ser sem distinção entre maiúsculas e minúsculas. Então, utilize a função da seguinte maneira:
if(!eregi(“^([a-z0-9_]|\\-|\\.)+@(([az0-9_]|\\-)+\\.)+[a-z]{2,4}$”,”$email”)){ die(“E-mail invalido.”); }
A expressao regular anterior eh uma expressao regular de verificação de e-mail padrão, compatível com PHP, mas não eh a maneira mais segura de verificar um endereço de e-mail, ou seja, ela somente verifica se o padrão esta correto. Por exemplo alguém@ninguem.abc seria validado pois esta no formato correto, mesmo que ele não exista efetivamente.
A verificação pelo PHP é interessante para se certificar que o e-mail esta no padrão correto antes de inserir no banco de dados, porem, para uma melhor interface com o usuário, faça também a verificação via JavaScript.
setembro 26th, 2008 at 16:24
Me ajudou, ótimo para vaidações de primeiro escalão.
Só concerte uma coisa:
if(!eregi(“^([a-z0-9_]|\\-|\\.)+@(([az0-9_]|\\-)+\\.)+[a-z]{2,4}$”,”$email”)){
die(“E-mail invalido.”);
}
no bloco após o arroba incluir um hífem entre o az ficando então a-z, assim a validação aceitará tanto números quantos caracteres na parte de domínio do email, pois antes só estava aceitando números valeu.
novembro 25th, 2008 at 19:12
Vlw pela correção fico perfeito