C#电子邮件正则表达式没有空间或! 字符允许

所以我有这段代码,我需要帮助的是:

我需要它不允许空格(例如user 123@hotmail.com =无效)

我需要它来允许除了! 字符。

我需要的域(后. ),如果超过2个字符长,必须通过我提供的文件进行验证。

国家代码是。 AERO,BIZ,COM,COOP,EDU,GOV,INFO,INT,MIL,MUSEUM,NAME,NET,ORG,PRO

当前代码。

private void validateBtn_Click(object sender, EventArgs e)
{
    Regex email = new Regex(@"[a-zA-Z0-9]{1,20}@[a-zA-Z0-9]{1,20}.[a-zA-Z]{2,3}$");
    if (!email.IsMatch(emailTxt.Text)) 
    {
        validLbl.Text = "Email invalid";
    }
    else
    {
        validLbl.Text = "Email Valid";
    }
}

任何帮助都是极好的! :D我只是找不到任何资源来帮助我。


这是用于检查电子邮件字段有效性的完整且详尽的正则表达式。 我很确定,这足以满足所有与电子邮件地址相关的验证。

([a-z0-9][-a-z0-9_+.]*[a-z0-9])@([a-z0-9][-a-z0-9.]*[a-z0-9].(aero|AERO|biz|BIZ|com|COM|coop|COOP|edu|EDU|gov|GOV|info|INFO|int|INT|mil|MIL|museum|MUSUEM|name|NAME|net|NET|org|ORG|pro|PRO)|([0-9]{1,3}.{3}[0-9]{1,3}))

如果您需要验证的域地址有任何更改,则可以相应地修改该正则表达式。 在这种情况下,你的代码应该是这样的:

private void validateBtn_Click(object sender, EventArgs e)
{
    Regex validEmailExp = new Regex(@"([a-z0-9][-a-z0-9_+.]*[a-z0-9])@([a-z0-9][-a-z0-9.]*[a-z0-9].(aero|AERO|biz|BIZ|com|COM|coop|COOP|edu|EDU|gov|GOV|info|INFO|int|INT|mil|MIL|museum|MUSUEM|name|NAME|net|NET|org|ORG|pro|PRO)|([0-9]{1,3}.{3}[0-9]{1,3}))");
    if (emailExp.IsMatch(emailTxt.Text.Trim()))
    {
        validLbl.Text = emailTxt.Text + " is valid";
    }
    else
    {
        validLbl.Text = emailTxt.Text + " is invalid";
    }
}

希望这可以帮助!!!


您无法使用正则表达式完全验证电子邮件。 最好你可以接近。 请参阅此主题以获得更完整的讨论。

链接地址: http://www.djcxy.com/p/92737.html

上一篇: C# email regex with no space or ! character allowed

下一篇: PHP Filtering Form Input