Existen varias maneras de determinar si una variable contiene una dirección de correo válida. En este artículo te enseñamos distintos métodos para averiguarlo. No obstante, ten en cuenta que estas técnicas no verifican propiamente su existencia. Más bien, determinan si la cadena contenida en la variable respeta el formato de una dirección de correo.
Una de las opciones para verificar si una dirección de correo es válida es emplear un filtro de PHP como filter_var() que devuelve los datos filtrados:
if(filter_var("yourEmailHere", FILTER_VALIDATE_EMAIL)) { // es válido } else { // no es válido }
Utilizando expresiones regulares podemos verificar si una dirección de correo, por ejemplo ingresada mediante un formulario, es válida.
La siguiente función verifica si la cadena de caracteres es correcta:
función VerificarrDireccionCorreo($direccion) { $Sintaxis='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'; if(preg_match($Sintaxis,$direccion)) return true; else return false; }
$direccion=htmlentities($_POST['direccion']); if(VerificarDireccionCorreo($direccion)) echo '<p>Tu direccion es valida.</p>'; else echo '<p>Tu dirección e-mail no es valida.</p>';
Las almohadillas (#) son los delimitadores de las expresiones regulares.
El símbolo ^ indica que la cadena debe comenzar con lo que sigue. A su vez, el símbolo $ indica que debe terminarse con lo que precede.
\w es una clase abreviada que corresponde a A-Za-z0-9_. Esto es, a las 26 letras del alfabeto en mayúsculas o minúsculas, las diez cifras y un underscore.