Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#电子邮件regex,没有空格或空格!允许字符_C#_Regex - Fatal编程技术网

C#电子邮件regex,没有空格或空格!允许字符

C#电子邮件regex,没有空格或空格!允许字符,c#,regex,C#,Regex,我有这段代码,我需要的帮助是: 我需要它不允许空格(例如user123@hotmail.com=无效) 我需要它允许除之外的所有字符字符 我需要域(在之后),如果超过2个字符长,则必须由我这里提供的文件验证 国家代码为。 航空、商务、通讯、合作、教育、政府、信息、国际、军事、博物馆、名称、网络、组织、专业 当前代码 private void validateBtn_Click(object sender, EventArgs e) { Regex email = new Regex(@"

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

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

我需要它允许除
之外的所有字符字符

我需要域(在
之后),如果超过2个字符长,则必须由我这里提供的文件验证

国家代码为。 航空、商务、通讯、合作、教育、政府、信息、国际、军事、博物馆、名称、网络、组织、专业

当前代码

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";
    }
}

希望这有帮助

您无法使用正则表达式完全验证电子邮件。充其量你可以接近。有关更完整的讨论,请参阅。

如果电子邮件地址中的空格被引号括起,则该空格可能有效。e、 g
“first last”@email.com
顺便说一句,下面是我对验证电子邮件地址的看法。测试电子邮件地址是否有效且处于活动状态的唯一方法是向该地址发送电子邮件。考虑到这一点,我试图在接受太多方面犯错。