[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