[Cascavel-pm] Como validar um e-mail?
Luis Motta Campos
luismottacampos em yahoo.co.uk
Sexta Maio 4 02:52:42 PDT 2007
On May 4, 2007, at 12:16 AM, Sandro de Almeida Filho wrote:
> Opa pessoal!!
> Recebo um endereço de e-mail de um formulário e jogo em "$email".
>
> Gostaria de verificar se esse e-mail é válido no seguinte formato:
> - Só aceita um arroba (@) -> óbvio
> - Só aceita ponto ".", travessão "-" e underline "_".
>
> Tentei formar uma regex mas não tive muito sucesso..
Oi, Sandro.
Este é o segundo uso mais estúpido de regular expressions, depois
de tentar fazer parse de XML|HTML|DHTML e afins.
Se você precisa de validação de emails, saiba que os endereços não
são tão óbvios, e que uma expressão regular menos afinada vai fazer
merda.
Por exemplo:
"Luis Motta Campos" (a.k.a. "Champs") <luismottacampos em nospam.co.uk>
É um endereço de email 100% válido, de acordo com a RFC2822.
E também vai ser se você inverter as coisas um pouquinho:
Champs <luismottacampos em nospam.co.uk> ("Luis Motta Campos")
Continua sendo um endereço eletrônico 100% válido. E, claro, tem
as pirações:
<luis(Champs)mottacampos@( Luis Motta Campos )nospam.co.uk>
Também vale, e muitas outras formas estranhas.
Para encurtar a história: use o Mail::Address para fazer as
validações, é simples, fácil e sem problemas. ;-)
Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}
Mais detalhes sobre a lista de discussão Cascavel-pm