Verificar si el formato de una dirección de correo es valido

última actualización el 28 de agosto de 2009, 20:06 por Carlos-vialfa
Publicado por Carlos-vialfa
Existen varias maneras de determinar si una variable contiene una dirección de correo valida. Estas técnicas no verifican si la dirección de correo existe, sólo determinan si la cadena contenida en la variable respeta el formato de una dirección de correo.


I. Utilizando un filtro


Utilizando una función de la familia de filtros podemos verificar si una dirección de correo es valida. Por ejemplo filter_var()
Ejemplo:

if(filter_var($email, FILTER_VALIDATE_EMAIL)){
    //La dirección de correo es buena
}

II. Utilizando expresiones regulares


Utilizando expresiones regulares podemos verificar si una dirección de correo, ingresada por ejemplo mediante un formulario, es valida.

A continuación una función que verifica si una cadena de caracteres es una dirección de correo valida.

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, y el símbolo $ indica que debe terminarse con lo que precede.
\w es una clase abreviada que corresponde a A-Za-z0-9_. O sea 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 un guión, luego es seguido por un @.
[\w.-]+ uno o más caracteres correspondientes a la clase abreviada o un guión (es el nombre de dominio)
\.[a-zA-Z]{2,6}$ un punto, luego de dos a seis letras, que terminan la cadena (es el tld del nombre de dominio).

PD: El artículo original fue escrito por Jeff, contribuidor de CommentCaMarche
Mejores respuestas para « Verificar si el formato de una dirección de correo es valido » en :
Borrar una dirección de la lista de inicio de sesión del MSN Ver Si deseas borrar algunas direcciones de correo electrónico que aparecen en la lista desplegable al inicio de sesión del MSN, entonces debes leer este artículo. En MSN versión 7 En Windows Live Messenger 8.0 Eliminar el correo desde el...
[Internet] Resumen MSN VerRESUMEN MSN 1. INTRODUCCION 2. “EL PUNTO DE PARTIDA” COMO CREAR UNA DIRECCION MSN 3. TRUCOS Y ASTUCIAS 4. CONTACTOS BLOQUEADOS 5. CODIGOS DE ERROR 6. CONEXIÓN IMPOSIBLE: PAGINA EN BLANCO 7. PROXY 8. ELIMINAR UNA CUENTA/DIRECCION MSN 8.1...
Luchar contra el spam VerEl objetivo de los spammers Encontrar direcciones de correo válidas Enviar spam Si es posible de manera anónima O quizás muy pronto, de manera legal Evitar dejar nuestro correo por todas partes Lo que ofrecen actualmente los proveedores de...
“Dirección de correo electrónico sin comprobar” al lado del nick VerIntroducción Si utilizas el MSN Messenger o Windows Live Messenger con una dirección que no pertenece a la red MSN (es decir que no termina en @hotmail @msn o @live), deberás registrar tu correo electrónico en la red “Windows Live ID” o confirmar...
Reglas para usar el correo electrónico correctamente VerNetiquette Netiquette (una contracción de las palabras "Net" y "etiquette") se refiere al conjunto de reglas que rigen el comportamiento correcto en Internet con el fin de respetar a los demás y ser respetados. Actúan como pautas de cortesía y...
Estructura del correo electrónico (Cuerpos y encabezados) VerEstructura del correo electrónico Un correo electrónico tiene tres partes básicas: El encabezado, un conjunto de líneas que contienen información sobre la transmisión del mensaje, tales como la dirección del remitente, la dirección del destinatario,...
Correo electrónico Ver¿Qué es un correo o correo electrónico? Es uno de los servicios en Internet de mayor demanda, pues hace posible el envío de mensajes en forma de archivo de texto. La academia francesa utiliza el vocablo "mél" mientras que los canadienses...