所以我有这段代码,我需要帮助的是:
我需要它不允许空格(例如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我真的找不到任何资源来帮助我。
答案 0 :(得分:0)
这是一个完整而详尽的正则表达式,用于检查电子邮件字段的有效性。我很确定这足以满足您与电子邮件地址相关的所有验证。
([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";
}
}
希望这有帮助!!!
答案 1 :(得分:0)
您无法使用正则表达式完全验证电子邮件。充其量你可以接近。有关更完整的讨论,请参阅this thread。