¿Cómo validar un nombre para mostrar y una dirección de correo electrónico en el siguiente formato?
"John Doe" johndoe@example.com
Después de hacer la investigación necesaria, la pregunta SO más cercana con la que puedo relacionar mis requisitos es: Extraer el correo electrónico y el nombre con expresiones regulares
Sin embargo, no pude encontrar algo sólido, en línea. Estoy publicando esta pregunta aquí en caso de que alguien ya haya desarrollado una solución que pueda compartir con todos.
Una ilusión es que si puede comportarse como MailAddress Class del espacio de nombres System.Net.Mail. https://docs.microsoft.com/en-us/dotnet/api/system.net.mail.dirección de correo
function ValidateEmailAndDisplayName(emailAddressWithDisplayName) { // A solid logic that addresses following test cases. }Nombre para mostrar entrecomillado: ","
emailAddressWithDisplayName = "John Doe" <johndoe@example.com> //=> True
Nombre para mostrar sin comillas dobles:
emailAddressWithDisplayName = John Doe <johndoe@example.com> //=> True
Coma en el nombre para mostrar entrecomillado: ","
emailAddressWithDisplayName = "Doe, John" <johndoe@example.com> //=> True
Coma en el nombre para mostrar sin comillas dobles: ,
emailAddressWithDisplayName = Doe, John <johndoe@example.com> //=> True
Barra invertida antes de agregar comillas dobles: \
emailAddressWithDisplayName = "John \"Segundo nombre\" Doe" <johndoe@example.com> //=> True
Falta la barra invertida antes de agregar doble comilla: \
ValidateEmailAndDisplayName(' "John "Segundo nombre" Doe" <johndoe@example.com> '); //=> Falso
Falta soporte angular de cierre: >
emailAddressWithDisplayName = "John Doe" <johndoe@example.com //=> Flase
AIT