ASP.NET电子邮件正则表达式在@
我有以下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: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?你好,谢谢。我做了你告诉我的改变,现在它开始工作了。:)