¿Cómo validar una dirección de correo electrónico usando una expresión regular?

A lo largo de los años, he desarrollado lentamente una expresión regular que valida la MAYORÍA de las direcciones de correo electrónico correctamente, asumiendo que no utilizan una dirección IP como parte del servidor.

Lo uso en varios programas PHP y funciona la mayor parte del tiempo. Sin embargo, de vez en cuando me contacta alguien que tiene problemas con un sitio que lo usa, y termino teniendo que hacer algunos ajustes (más recientemente me di cuenta de que no estaba permitiendo TLD de 4 caracteres).

¿Cuál es la mejor expresión regular que tiene o ha visto para validar correos electrónicos?

He visto varias soluciones que usan funciones que usan varias expresiones más cortas, pero prefiero tener una expresión compleja larga en una función simple en lugar de varias expresiones cortas en una función más compleja.

preguntado Oct 14 '08, 12:10

La expresión regular que puede validar que un IDNA está formateado correctamente no encaja en stackexchange. (las reglas sobre canonicalización eran realmente tortuosas y particularmente inadecuadas para el procesamiento de expresiones regulares) -

Las expresiones regulares pueden ser variable como en algunos casos, una estafa de correo electrónico puede contener un espacio y, en otras ocasiones, no puede contener espacios. -

@Jasen Afortunadamente, no es necesario que las direcciones de correo electrónico tengan un IDNA válido. Las direcciones de correo electrónico se definen de esta manera para compatibilidad con reenvíos con extensiones de la sintaxis IDNA. -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.