Vamos a ir directamente a la respuesta corta y nos ocuparemos de la explicación larga después.

Sencillamente, no.

Puedo oír a los desarrolladores y a los defensores del diablo ahí fuera cuestionando nuestra contundente negación de la regex validación de correo electrónicoPor lo tanto, cabe preguntarse por qué existe.

Bueno, no vamos a negar que puede ser una herramienta útil, y ciertamente es un pequeño kit inteligente para evitar que los usuarios añadan cualquier texto viejo en un formulario u otro medio ejecutable. En un momento dado, el regex del correo electrónico tenía su papel en la forma de recopilar los datos del correo electrónico.

Pero ahora? ¿En línea con la tecnología y las normas actuales?

Decimos que ha tenido su día.

Si quiere asegurarse de que está recibiendo direcciones de correo electrónico limpias que no vayan a afectar a su marketing por correo electrónico, a sus tasas de rebote, a las puntuaciones de entregabilidad y a todas las cosas que usted sabe que necesita para mantener sus métricas altas y sus conversiones, entonces regex no es el camino.

¿Qué es la regex de validación del correo electrónico?

Regex es la abreviatura de expresión regular; es un término utilizado en varios lenguajes de codificación. Regex, o expresiones regulares, se refiere a cadenas de texto codificadas diseñadas para coincidir con patrones encontrados en otras cadenas.

Pueden ser muy útiles cuando un usuario necesita hacer coincidir una cadena de caracteres con un tipo de patrón particular para verificar que la información suministrada parece correcta. Piense en los números de teléfono, los códigos postales, las fechas y, sí, el gran tema que nos ocupa: las direcciones de correo electrónico.

Con un patrón simple, se puede hacer coincidir una cadena exacta con un conjunto de reglas. Cuando los patrones simples se vuelven más complicados, el regex se vuelve menos eficiente y es más probable que ofrezca malos resultados.

Hasta ahora suena bien, así que, ¿cuál es el problema con la validación regex del correo electrónico?

Por muy ingeniosa que sea la herramienta regex, no cubre las comprobaciones que necesitas. Echa un vistazo a estos:

[email protected]
[email protected]
[email protected]
[email protected]

Supongamos que usted detecta cualquiera de los casos anteriores como incorporaciones a su lista de correo electrónico; los marcaría de inmediato (¡o debería hacerlo!). No creerías que ninguna de ellas fuera una entrada válida de personas reales que mostraran interés por tu producto y servicio.

Sin embargo, la validación de correo electrónico Regex sí lo haría. Los dejaría pasar a todos.

¿Por qué? Porque esas direcciones evidentemente falsas siguen los patrones que sus reglas establecen para confirmar.

Ahora no parece tan inteligente, ¿verdad?

Es demasiado restrictivo

A pesar de que los ejemplos anteriores nos parecen tan obviamente falsos, algunos formatos de correo electrónico incluyen muchos más caracteres especiales de los que estamos acostumbrados a ver.

En su forma más sencilla, la dirección de correo electrónico sigue el siguiente formato:

nombre de [email protected]

Las direcciones de correo electrónico se construyen en tres secciones:

  • La parte local - normalmente un nombre de usuario o un rol de trabajo
  • El carácter @
  • El dominio, incluyendo un TLD (Top Level Domain) válido

Si eso fuera todo lo que el código tuviera que buscar, entonces una típica comprobación regex de javascript evitaría que muchos contactos malos acabaran en nuestras listas.

Normalmente, nuestras direcciones de correo electrónico pueden incluir los siguientes caracteres:

  • Dígitos: 0 a 9
  • Letras minúsculas y mayúsculas: de la a a la z y de la A a la Z
  • Caracteres especiales adicionales: !#$%&'*+-/=?^_`{|}~
  • El carácter punto [.]: Pero no como primer o último carácter, ni utilizado consecutivamente

Si alguien se inscribiera en su lista de correo electrónico con alguno o varios de esos caracteres especiales, la mayoría de nosotros se preguntaría si algo va mal, y nos equivocaríamos: todos están permitidos según la convención actual.

Regex no comprueba nada más que la sintaxis

Puede que a los desarrolladores sólo les preocupe obtener direcciones que parezcan válidas a través de un formulario, pero a nosotros no. Nosotros necesitamos saberlo:

  • ¿Existe el dominio?
  • ¿Hay un registro MX que demuestre que el dominio tiene un servidor de correo?
  • ¿Tiene la dirección de correo electrónico una cuenta de correo electrónico que funcione?

Cualquiera de estas preguntas que marque un "no" recibirá un duro "no" por parte de nosotros como vendedores, también. Regex no comprueba nada de eso, solo una herramienta de validación de correo electrónico dedicada sacará esas banderas rojas.

No detecta las direcciones temporales y desechables

Como vendedores de correo electrónico, otra cosa de la que somos más que conscientes es que muchos usuarios crean cuentas temporales falsas para aprovechar una oferta, promoción u otra situación. Es una manera fácil de evitar añadir desorden a sus cuentas de correo electrónico existentes o dar cualquier información sobre sí mismos que no quieren.

Es fácil crear una dirección de correo electrónico temporal o desechable como solución única. Esas direcciones suelen desaparecer a los 10 o 15 minutos de ser creadas, lo que las hace increíblemente aptas para su uso.
Regex no comprueba esos datos. Las direcciones de correo electrónico temporales y desechables pasan todas las pruebas de validación regex.

¿Cómo se configura un regex javascript para el correo electrónico?

Si eres un experto desarrolladorProbablemente no necesites nuestros conocimientos básicos del tema para saber cómo, pero para aquellos que tengan algo de experiencia en codificación, debería ser algo así:

function ValidateEmail(inputText)

{

var mailformat = [a-z0-9!#$%&’*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&’*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

if(inputText.value.match(mailformat))

{

alert("Esta no es una dirección de correo electrónico válida");

devolverá el falso;

}

}

La parte que hace todo el trabajo pesado es la var mailformat línea. La ejecución y los caracteres de esa larga línea de código definen lo que está permitido y lo que no.

Puedes detectar las cosas sencillas: a-z, A-Z, 0-9y luego los caracteres especiales en la primera sección local. La página web [email protected] dicta el separador local y de dominio. Después de la @ tenemos otra serie de instrucciones sobre lo que está permitido en la sección de dominio.

Si quieres una visión mucho más profunda de lo que se necesita para implementar un validador regex, entonces dirígete a abstract. Tienen una guía muy buena sobre lo que se necesita y son expertos en todo tipo de API adiciones e inclusiones.

Si un trabajo vale la pena hacerlo, vale la pena hacerlo bien, así que valide sus listas de la mejor manera posible

Sólo hay una forma de asegurarse de que sus listas de correo electrónico están en condiciones óptimas, y es utilizar una herramienta de validación de correo electrónico específica, como Bouncer.

La validación Regex podría ser responsable de dejar entrar direcciones de correo electrónico falsas en sus listas de correo electrónico, así como de bloquear las válidas. A la hora de añadir un método de autenticación a tus formularios online o métodos de recogida de datos, te sugerimos otras formas de validación más robustas.

En última instancia, la ejecución de sus listas de correo electrónico a través de una plataforma como Bouncer es la mejor manera, con diferencia, de mantener sus listas limpias y sanas, sus tasas de rebote bajas, su capacidad de entrega alta y su puntuación del remitente en plena forma.

Para una verificación exhaustiva del correo electrónico, opta por Bouncer