Validar el formato de un correo electrónico en C#

Muchas veces tenemos la necesidad de validar en .Net el correo electronico que es ingresado por un usuario en un formulario o sitio web. En este caso se valida mas de un correo separado por punto y coma (;)  e identifica que correo es valido. Si no es valido lo deja en blanco.

ValidarCorreoElectronico("Correoinvalido{{@prueba.com;CorreoValido@hotmail.com"
 
private string ValidarCorreoElectronico(string sCorreoElectronico)
    {
        string sCorreo = string.Empty;

        if (sCorreoElectronico != string.Empty)
        {
            String[] sMail = sCorreoElectronico.Split(new Char[] { ';' });            
            for (int I = 0; I < sMail.Length; I++)
            {
                if (ValidarFormatoCorreo(sMail[I].ToString()))
                {
                    sCorreo = sMail[I].ToString() + ";" + sCorreo;
                }
            }
        }
        if (sCorreo != string.Empty)
            sCorreo = sCorreo.Substring(0, sCorreo.Length - 1);

        return sCorreo;
    }

    private Boolean ValidarFormatoCorreo(String email)
    {
        String expresion;
        expresion = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
        if (Regex.IsMatch(email, expresion))
        {
            if (Regex.Replace(email, expresion, String.Empty).Length == 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        else
        {
            return false;
        }
    }
Share:

0 comments:

Publicar un comentario