none
Validar email via código C# RRS feed

  • Pergunta

  • Olá...

    Existe outra maneira de validar um campo de email via código em C# que não seja pelo 'validator' do Visual Studio?

    Alguém sabe como fazer?

     

    Agradeço.

     

    Mário.

    quinta-feira, 15 de fevereiro de 2007 18:10

Respostas

  • string email = txtEmail.Text;
     
    Regex rg = new Regex(@"^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$");
     
    if (rg.IsMatch( email ) )
    {
          Response.Write("Email Valido!");
    }
    else
    {
          Response.Write("Email Inválido!");
    }
    • Sugerido como Resposta Ricardo Masala quinta-feira, 12 de janeiro de 2012 13:31
    • Marcado como Resposta Marcos SJ quarta-feira, 28 de outubro de 2015 12:18
    sexta-feira, 7 de outubro de 2011 21:53
  • altera o regex para esse aqui

    ^(?("")("".+?""@)|(([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}))$

    colocando entre aspas duplas

    Junior

    segunda-feira, 21 de outubro de 2013 16:43

Todas as Respostas

  • Usa o Regex.. mesmo do C#;

    dai vc valida via server side..

    segue o expression

    [\w\.-]+(\+[\w-]*)?@([\w-]+\.)+[\w-]+

     

    quinta-feira, 15 de fevereiro de 2007 18:30
  • public static bool ValidarEmail(string email)
            {
                bool validEmail = false;
                int indexArr = email.IndexOf('@');
                if (indexArr > 0)
                {
                    int indexDot = email.IndexOf('.', indexArr);
                    if (indexDot - 1 > indexArr)
                    {
                        if (indexDot + 1 < email.Length)
                        {
                            string indexDot2 = email.Substring(indexDot + 1, 1);
                            if (indexDot2 != ".")
                            {
                                validEmail = true;
                            }
                        }
                    }
                }
                return validEmail;
            }
    

    • Sugerido como Resposta CEFL quinta-feira, 15 de setembro de 2011 13:18
    quinta-feira, 15 de setembro de 2011 13:18
  • string email = txtEmail.Text;
     
    Regex rg = new Regex(@"^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$");
     
    if (rg.IsMatch( email ) )
    {
          Response.Write("Email Valido!");
    }
    else
    {
          Response.Write("Email Inválido!");
    }
    • Sugerido como Resposta Ricardo Masala quinta-feira, 12 de janeiro de 2012 13:31
    • Marcado como Resposta Marcos SJ quarta-feira, 28 de outubro de 2015 12:18
    sexta-feira, 7 de outubro de 2011 21:53
  • Ricardo boa tarde, 

    Estou começando a programar, e essa é a primeira coisa que preciso fazer no meu trabalho, 

    Usei a tua função mas quando eu digito por exemplo.

    dalton@gmail.commmmmm 

    Ele me mostra como e-mail válido, pode me sugerir algo? 

    segunda-feira, 21 de outubro de 2013 15:50
  • altera o regex para esse aqui

    ^(?("")("".+?""@)|(([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}))$

    colocando entre aspas duplas

    Junior

    segunda-feira, 21 de outubro de 2013 16:43
  • Encontrei uma expressão regular no artigo https://msdn.microsoft.com/pt-br/library/01escwtf(v=vs.110).aspx 

    Expressão Regular --> ^(?(")(".+?(?<!\\)"@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9][\-a-z0-9]{0,22}[a-z0-9]))$

            public bool ValidarEmail(String email)
            {
                bool emailValido = false;
    
                //Expressão regular retirada de
                //https://msdn.microsoft.com/pt-br/library/01escwtf(v=vs.110).aspx
                string emailRegex = string.Format("{0}{1}",
                    @"^(?("")("".+?(?<!\\)""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))",
                    @"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9][\-a-z0-9]{0,22}[a-z0-9]))$");
                
                try
                {
                    emailValido = Regex.IsMatch(
                        email,
                        emailRegex);
                }
                catch (RegexMatchTimeoutException)
                {
                    emailValido = false;
                }
                
                return emailValido;
            }

    quarta-feira, 28 de outubro de 2015 02:06
  • Obrigado funciona perfeitamente ;)
    quinta-feira, 9 de agosto de 2018 12:17