如果文本框的内容是电子邮件,请执行某项操作

时间:2018-04-09 20:28:15

标签: c# asp.net-mvc exchangewebservices

我的应用程序中有一个文本框,可以是电子邮件或组名。

我需要做的是确定这个文本框是否是电子邮件,然后做一些事情。

我现在将文本框的内容传递给变量

var test = new MailAddress(txtRecipents.Text)

我现在想做的不是将文本框值放入变量中,而是想在if语句中确定它

If (txtRecipents.txt is an email)
{
   ...Do something here
}

几乎像是或否的问题。

例如:

  

如果文本框值是电子邮件,请执行此操作     如果文本框值不是电子邮件,请执行其他操作

我希望如果不是,我会澄清

*编辑*

基本上我并不关心垃圾邮件等,因为它是一个永远不会看到互联网的内部应用程序。

我只是想确定它是文本框中的电子邮件还是组名,因为应用程序应该同时使用

3 个答案:

答案 0 :(得分:0)

如果您关注的电子邮件地址格式有效:

var test = new MailAddress(txtRecipients.Text)

if (test.Address == txtRecipients.Text)
{
    // valid email address...
}

答案 1 :(得分:0)

//This should fail
string s = "ssharp@@@@@@@bogusemail.com";

Regex regex = new Regex(@"^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$");

Match match = regex.Match(email);

if (match.Success)
{
    //do something
}
else
{
  //do the other thing
}

答案 2 :(得分:0)

使用" System.Net.Mail.MailAddress"可以是一个很好的解决方案请记住:

  1. MailAddress可以抛出" FormatException"
  2. MailAddress算法会考虑有效的电子邮件,例如" fdsa @ fdsa"或" fdsa @ fdsa。"
  3. 您可以在此处找到处理异常的代码段:

    try {
       var addr = new System.Net.Mail.MailAddress(txtRecipents.Text);
       if (txtRecipents.Text == addr.Address)
       {
          // valid email address
       }
    }
    catch {
       // NOT a valid email address
    }