«

»

Jan 06

Print this Post

Validando um endereço de e-mail com uma regular expression

Problema:

Um aplicativo ColdFusion requer uma entrada de email válida num formulário.

Solução:

ColdFusion permite o uso de regular Expressions para fazer comparação padrão com uma string usando as funções REFind() e REFindNoCase(). Usando a função REFindNoCase() permitirá que um aplicativo determine se uma string é um endereço de email válido. A função isValid() tambem pode ser usada para se conseguir esse resultado.

Explicação detalhada:

Usar o método REFindNoCase é muito simples. A partre mais difícil é selecioinar a Regular Expression a se usar. Para este exemplo, a seguinte Regular Expression será usada:


"^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.(([a-z]{2,3})|(aero|coop|info|museum|name))$"

Usar a Regular Expression para validar um valor a ser entrado no campo do formulário é muito simples:


<cfif REFindNoCase(
"^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.(([a-z]{2,3})|(aero|coop|info|museum|name))$",
form.email ) >
     Valid Email Address
<cfelse>
     Invalid Email Address
</cfif>

Há numerosas maneiras de se validar um endereço de e-mail em ColdFusion e usar uma Regular Expression é somente uma das maneiras. A função IsValid() tambem validará endereçois de e-mail, mas pode produzir resultados irregulares algumas vezes.


<cfif IsValid( "email", form.email )>
     Valid Email
<cfelse>
     Invalid Email
</cfif>

Entretanto, a função IsValid() tambem permite o uso de Regular Expressions.


<cfif IsValid( "regex", form.email,
"^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.(([a-z]{2,3})|(aero|coop|info|museum|name))$"
)>
     Valid Email
<cfelse>
     Invalid Email
</cfif>

by Kevin Schmidt
Versão original em inglês: Adobe ColdFusion Cookbooks

Permanent link to this article: http://ensina.me/coldfusion/validando-um-endereco-de-e-mail-com-uma-regular-expression/

Leave a Reply