[firebase-br] Validador de email

Qatan wanstadnik em gmail.com
Sex Abr 24 04:19:57 -03 2015


Voce pode usar uma expressão regular.

Conforme o padrão oficial  RFC 5322 seria essa:

  (?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*
  |  "(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]
      |  \\[\x01-\x09\x0b\x0c\x0e-\x7f])*")
@ (?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
  |  \[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}
       (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:
          (?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]
          |  \\[\x01-\x09\x0b\x0c\x0e-\x7f])+)
     \])
Porém na prática eu acho melhor usar essa (essa é a que eu pessoalmente uso):
\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
Você pode encontrar mais detalhes aqui.

Se você quiser saber como fazer isso no Firebird então sugiro dar uma olhada aqui.

Mas como já fala no próprio artigo (comentário seguinte ao da solução), eu pessoalmente acho que esse tipo de validação deve ser feito no data-entry da aplicação e não no banco de dados, mas isso vai de acordo com a sua preferência. OK?

Espero ter sido de alguma ajuda.

Qatan




From: Rafael - FAV Ferro e Aço 
Sent: Thursday, April 23, 2015 10:50 PM
To: FireBase 
Subject: [firebase-br] Validador de email

Amigos, saudações!
Tabela CLIENTES.
Campo EMAIL tipo VARCHAR(120).
Pois bem, a aplicação, que não e minha, não está validando bem o formato
dos dados informados nesse campo. Logo, tenho uma tabela com muitos
registros inválidos.
Alguém teria uma função que recebesse o texto e validasse no formato de
e-mail?
Depois que eu usar para encontrar os registro com "sujeira" e limpar, quero
colocar uma TRIGGER para impedir a gravação.
Desde já agradeço pela ajuda.


--
Rafael Cardoso Stella
Gerente Financeiro
FAV Comércio de Ferro e Aço LTDA
Fone: (15) 3229-5050 - (11) 4523-5833 - FAX: (15) 3229-5055
rafael.sorocaba em favcomercial.com.br
http://www.favcomercial.com.br
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


Mais detalhes sobre a lista de discussão lista