Hay en la web diferentes expresiones regulares que validan direcciones de correo electrónico, pero tienen huecos, así que les paso una muy buena y robusta, que encontré en un software que se llama Expresso (http://www.ultrapico.com) y se las comparto a ustedes. La aplico en PHP pero como saben pueden usarla en Javascript y cualquier otro lenguaje.
Débiles expresiones regulares que encontré en la web, que permiten pasar direcciones como:
uramos@gmail
, uramos@gmail.
, uramos@gmail.com.
preg_match("^([a-z0-9_-])+([\.a-z0-9_-])*@([a-z0-9-])+(\.[a-z0-9-]+)*\.([a-z]{2,6})$", $email);
preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $email);
Verdadera expresión regular que valida direcciones de correo:
function validarEmailAddress($email)
{
// Regresa 1 si la cadena hace match
// Regresa 0 si no hace match
// Regresa FALSE si hubo un error
return preg_match("/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})+$/", $email);
}
Las funciones de PHP ereg() y eregi() son obsoletas y quedarán fuera desde la versión 5.3, por eso usamos preg_match()
No hay comentarios:
Publicar un comentario