Cómo verificar el formato de una dirección de correo

Cómo verificar el formato de una dirección de correo

Existen varias maneras de determinar si una variable contiene una dirección de correo válida. 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. Este artículo muestra distintos métodos para averiguarlo.

¿Cómo verificar una dirección de correo utilizando un filtro?

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
}

¿Cómo verificar una dirección de correo utilizando expresiones regulares?

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;
}

Ejemplo

Después de haber obtenido el campo “dirección” de un formulario:

$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>';

Explicación

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.

Lo que hace el código

^[\w.-]+@ Comienza (^) al menos con un carácter correspondiente a la clase abreviada o con un guión. Después es seguido por una arroba. [\w.-]+ Uno o más caracteres correspondientes a la clase abreviada o un guión. Este es el nombre de dominio. \.[a-zA-Z]{2,6}$ Un punto y a continuación de dos a seis letras que terminan la cadena. Este es el tld del nombre de dominio.

Alrededor del mismo tema

Webmaster