【问题标题】:e-mail validation on windows formWindows 窗体上的电子邮件验证
【发布时间】:2017-01-09 23:55:36
【问题描述】:

我正在使用 Windows 窗体。

我只想验证我的文本框(或屏蔽文本框)的电子邮件 ID。

谁能告诉我这个想法?

【问题讨论】:

  • 你可以使用正则表达式吗? Google c# 正则表达式和正则表达式电子邮件...
  • 14 个问题,没有一个被接受的答案?
  • Fredrik Mörk 是对的,标记已回答的问题,否则您以后将得不到答案

标签: c#


【解决方案1】:

尝试使用正则表达式 @"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"

【讨论】:

    【解决方案2】:

    您可以使用代表邮件地址的System.Net.Mail.MailAdress 类的构造函数。

    尝试使用您的字符串初始化一个实例并捕获异常,如果验证失败则抛出该异常。像这样的:

    try
    {
       new System.Net.Mail.MailAddress(this.textBox.Text);
    }
    catch(ArgumentException)
    {
       //textBox is empty
    }
    catch(FormatException)
    {
       //textBox contains no valid mail address
    }
    

    【讨论】:

      【解决方案3】:

      试试正则表达式

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

      或在代码中检查您的电子邮件地址

      string email=textbox1.text;
      if(email.lastindexof("@")>-1)
      {
      //valid
      }
      else
      {
      
      }
      

      【讨论】:

        【解决方案4】:

        string email=textbox1.text;

        System.Text.RegularExpressions.Regex expr= new System.Text.RegularExpressions.Regex(@"^[a-zA-Z][\w\.-]{2,28}[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$");

        `if (expr.IsMatch(email))
                    MessageBox.Show("valid");
        
                else MessageBox.Show("invalid");`
        

        【讨论】:

          【解决方案5】:

          试试这个:

          private void emailTxt_Validating(object sender, CancelEventArgs e)
          
          {
          
          System.Text.RegularExpressions.Regex rEmail = new    System.Text.RegularExpressions.Regex(@"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$");
          
                  if (emailTxt.Text.Length > 0 && emailTxt.Text.Trim().Length != 0)
                  {
                      if (!rEmail.IsMatch(emailTxt.Text.Trim()))
                      {
                          MessageBox.Show("check email id");
                          emailTxt.SelectAll();
                          e.Cancel = true;
                      }
                  }
              }
          

          【讨论】:

            【解决方案6】:

            我建议您使用这种方式,它对我来说效果很好。

            /* Add this reference */
            
            using System.Text.RegularExpressions;
            
            ---------------------------
            
            if (!string.IsNullOrWhiteSpace(txtEmail.Text))
            {
                Regex reg = new Regex(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
                if (!reg.IsMatch(txtEmail.Text))
                {
                    Mensaje += "* El email no es válido. \n\n";
                    isValid = false;
                }
            }
            

            【讨论】:

              猜你喜欢
              • 2018-02-20
              • 2016-06-26
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-09-18
              • 1970-01-01
              相关资源
              最近更新 更多