Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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
ASP.NET电子邮件正则表达式在@_.net_Regex_Validation - Fatal编程技术网

ASP.NET电子邮件正则表达式在@

ASP.NET电子邮件正则表达式在@,.net,regex,validation,.net,Regex,Validation,我有以下ASP.NET标记: <asp:regularexpressionvalidator id="RegularExpressionValidator7" runat="server" ControlToValidate="Email1" ErrorMessage="Email not valid" ValidationExpression="\w+([-+.]\w+)*@\w+([-

我有以下ASP.NET标记:

<asp:regularexpressionvalidator id="RegularExpressionValidator7"
            runat="server" 
            ControlToValidate="Email1" 
            ErrorMessage="Email not valid" 
            ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">

如您所见,验证表达式是VisualWebDeveloper默认提供的表达式。在有人试图输入此电子邮件地址之前,它一直对我非常有效:

johnsmith--@hotmail.com

验证器说电子邮件无效,但确实有效。我在hotmail.com上进行了验证,您可以在@符号前用连字符创建电子邮件地址

我必须在验证表达式中更改什么才能接受此连字符?

在正则表达式中的
@
之前添加可选连字符(
-?

ValidationExpresion="\w+([-+.]\w+)*-?@\w+([-.]\w+)*\.\w+([-.]\w+)*"
....................change.here....^^
是否允许在连字符前面加一个
+
?然后你会像这样加进去

ValidationExpresion="\w+([-+.]\w+)*[-+]?@\w+([-.]\w+)*\.\w+([-.]\w+)*"
.....................change.here...^^^^^

依此类推。

第一组中的加号量词变为*

\w+([-+.]\w*)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

等待这将允许bladi.bladi.@something.com或bladi.bladi+@something.com不好:(bladi.bladi+@something.com是有效的电子邮件address@PHeiberg真的吗?但是bladi.bladi呢。@something.com?你好,谢谢。我做了你告诉我的改变,现在它开始工作了。:)