ASP.NET中的以下电子邮件格式的验证表达式是什么?

时间:2016-05-18 09:05:11

标签: c# html asp.net visual-studio validation

我正在尝试验证文本字段,用户必须按以下格式输入电子邮件地址:firtsname.lastname@companyname.com

1)必须以.com结尾。电子邮件地址中的任何地方都不允许有号码。例如,有效的电子邮件地址加密:fredric.william@gmail.com

2)无效的电子邮件:fredricwilliam@cool.com

3)无效的电子邮件:fredric19.william@cool.com

我正在尝试的代码:

 <asp:RegularExpressionValidator ID="RegularExpressionValidatorEmail" runat="server"
         ErrorMessage="Invalid Email !"  ForeColor="Red"
        ControlToValidate="emailtxt" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">*</asp:RegularExpressionValidator>
    <br />

1 个答案:

答案 0 :(得分:0)

您可以查看Microsoft的详细说明here。 让我给你两个样本正则表达式,这样你就可以自己创建或修改下面的。

表达式1:

  

(([\ w - ] +。)+ [\ w - ] + |([a-zA-Z] {1} | [\ w - ] {2,}))@

匹配电子邮件地址的用户名部分。该表达式部分匹配如下:

([\w-]+\.)+[\w-]+) - 匹配点分隔的用户名组(即John.Connor@test.maildomain.com的John.Connor)。 规则:应该至少有两个点分隔的组,每组应至少包含一个字母数字字符或' - ','_'字符和'。'最后的字符,除了@ -sign组的最右边。

([a-zA-Z]{1}|[\w-]{2,}) - 匹配单个(不带'。'字符)用户名(即Max-White@test.maildomain.com的Max-White)。 规则:如果用户名部分只包含一个字符,则应该是单词字符(a到z或A到Z),或者应该至少有两个字母数字,下划线或减号字符。

@ - 匹配电子邮件地址的@ -sign。

表达式2:

  

(([0-1] [0-9] {1,2} |?25 [0-5] | 2 [0-4] [0-9])([0-1] [? 0-9] {1,2} | 25 [0-5] | 2 [0-4] [0-9])。   ([0-1] [0-9] {1,2} |?25 [0-5] | 2 [0-4] [0-9])。?([0-1] [0-9] {1,2} | 25 [0-5] | 2 [0-4] [0-9])){1}

匹配电子邮件地址的主机部分,如果电子邮件地址中的主机表示为IP地址。如您所见,此表达式部分具有四个相同的重复组,每个重复组用于分别匹配IP地址的第一个到第四个八位字节。整个表达部分匹配如下:

([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\. - 匹配电子邮件字符串中IP地址的前三个八位字节之一(即John.Connor@195.250.101.219的195.250.101。)。 规则:可选的第一个字符'0'到'1'和可选的第二个字符'0'到'9'强制第三个字符'0'到'9'或强制性的第一个字符'25'和强制的第三个字符'0'到'5 '或强制性第一个字符'2'和强制性第二个字符'0'到'4'和强制性第三个字符'0'到'9'和强制性'。'八位组末尾的字符。

([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9]) - 匹配电子邮件字符串中IP地址的最后四个八位字节(即John.Connor@195.250.101.219的219)。 规则:与前三个八位组相同,但“。”除外。最后的角色。

{1} - 匹配一个字符串,该字符串在@ -sign后面只包含一个“四个八位字节”组。