Validar el formato de un correo electrónico en Csharp(C#) .net

Para validar si un texto tiene el formato de correo electrónico podemos usar en el caso de Aspx un validador incorporado dentro de los controles:

<asp:RegularExpressionValidator ID="validateEmail"    
 runat="server" ErrorMessage="Invalid email."
 ControlToValidate="ctrlEmail"
 ValidationExpression="^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$" />

Para el caso de c# validar desde una librería o una aplicación que no sea aspx o simplemente desde cualquier código c# podemos usar el siguiente método con una expresión regular  para realizar la validación:

 public static bool IsValidEmail(string strMailAddress)
{
 // Return true if strIn is in valid e-mail format.
 return Regex.IsMatch(strMailAddress, @"^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))" + @"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$");
 }

7 comentarios en «Validar el formato de un correo electrónico en Csharp(C#) .net»

    1. buenos dias:
      me sale un error con el la palabra Regex, pregunto hay que usar alguna libreria, què me falta, si son tan amables de ayudarme, muchas gracias.

  1. Hola, queria saber como seria el código si lo quisiera para un textbox ante el evento KeyPress, es decir, que si esta escribiando algo lo cual no se encuentra dentro de la sintaxis de la expresion regular que pusiste, no te deje escribir mas, muchas gracias de antemano.

    1. Depende de que tecnologia uses si es web en ASPX puede usar un control que se llama RegularExpresionvalidator para hacer la validación desde Web

      o puedes validar desde el lado del servidor y mandarle un customvalidator la validación

      Si es una aplicación de escritorio solo tiene que hacer la validación y sacar un mensaje

Los comentarios están cerrados.