Asp.net 用于电子邮件验证的正则表达式不起作用

Asp.net 用于电子邮件验证的正则表达式不起作用,asp.net,regex,Asp.net,Regex,我已经设置了一个正则表达式验证器来验证在我的一个表单的文本框中输入的所有电子邮件地址。唯一的问题是它在一个奇怪的情况下不起作用 这是我的密码 <asp:TextBox ID="tbEmail1" runat="server" /> <asp:RegularExpressionValidator Display="Dynamic" ID="rgv1" runat="server" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+

我已经设置了一个正则表达式验证器来验证在我的一个表单的文本框中输入的所有电子邮件地址。唯一的问题是它在一个奇怪的情况下不起作用

这是我的密码

<asp:TextBox ID="tbEmail1" runat="server" />

<asp:RegularExpressionValidator Display="Dynamic" ID="rgv1" runat="server"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
ControlToValidate="tbEmail1" ErrorMessage="Invalid email address" />

这样输入电子邮件地址时,这种情况不起作用

jamie-taylor---@hotmail.co.uk

现在我不知道电子邮件地址可以用这种方式设置,但我只设置了一个,似乎没什么问题,只是我不能在表单中输入它,除非它告诉我它是无效的

有什么想法吗


提前感谢

让我们增强正则表达式:

\w+([-+.']\w+[-]*)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
编辑 对于@Sjoerd:

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

让我们增强正则表达式:

\w+([-+.']\w+[-]*)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
编辑 对于@Sjoerd:

\w+([-+.']\w+[-]*)*@\w+([-.]*\w+)*\.\w+([-.]\w+)*
。此页面包含要测试的正则表达式和电子邮件地址

一般来说,最好不要对正则表达式太严格。与其让客户无法创建帐户,不如让一两封电子邮件恢复过来。

。此页面包含要测试的正则表达式和电子邮件地址


一般来说,最好不要对正则表达式太严格。与其让客户无法创建帐户,不如让一两封电子邮件回复过来。

使用下面的表达式可能会对您有所帮助

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

使用下面的表达式可能会对您有所帮助

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

@Sjoerd试试这个
\w+([-+.]\w+[-]*)*@\w+([-.]*\w+*.\w+([-.]\w+*.
按照Sjoerd在答案中的链接,不要彻底改造轮子。@Sjoerd试试这个
\w+([-+.]]\w+[-]*)*@\w+([-.]*\w+.*.*.\w+.*..\w+.*.\w+.
按照Sjoerd在答案中的链接,不要彻底改造轮子。