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>