C# 如何使用RegularExpression validator验证电子邮件地址?

C# 如何使用RegularExpression validator验证电子邮件地址?,c#,asp.net,regex,validation,email,C#,Asp.net,Regex,Validation,Email,我已使用以下代码验证电子邮件地址: <asp:RegularExpressionValidator ID="EmailAddressFormatValidator" runat="server" ControlToValidate="EmailAddressTextBox" ErrorMessage="RegularExpressionValidator" Display="Dynamic" ValidationExpression="\w+

我已使用以下代码验证电子邮件地址:

<asp:RegularExpressionValidator ID="EmailAddressFormatValidator" runat="server" 
     ControlToValidate="EmailAddressTextBox" 
     ErrorMessage="RegularExpressionValidator" 
     Display="Dynamic" 
     ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" 
     EnableClientScript="False">Email Address is not valid.<br />       
</asp:RegularExpressionValidator>
电子邮件地址无效。

它工作正常,但当用户在电子邮件末尾输入“”(空格)时,它将停止工作并将有效电子邮件声明为无效,请帮助我如何解决此问题。

在您的正则表达式末尾添加
\s*

像这样

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*
我在这里设置了一个演示

我在这里使用的正则表达式是
^\w+([-+.]\w+*@\w+([-.]\w+*\.\w+)([-.]\w+*\s*$


我对您的语言没有太多了解,因此我认为默认情况下,这些锚定标记会出现在您的正则表达式末尾

像这样

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*
我在这里设置了一个演示

我在这里使用的正则表达式是
^\w+([-+.]\w+*@\w+([-.]\w+*\.\w+)([-.]\w+*\s*$

我对您的语言没有太多了解,因此我认为默认情况下,这些锚定标记会出现在您的面前

只需使用以下内容:

ValidationExpression=“\s*\w+([-+.]\w+*@\w+([-.]\w+*\)。\w+([-.]\w+*\s*”
代替验证表达式

类似的问题可以在这里找到:

只要用这个:

ValidationExpression=“\s*\w+([-+.]\w+*@\w+([-.]\w+*\)。\w+([-.]\w+*\s*”
代替验证表达式

类似的问题可以在这里找到:


是否需要问号?你能不能在结尾加上“\s”?哦,哈哈哈,当然。。我只是犯了一些愚蠢的错误问号有必要吗?你能不能在结尾加上“\s”?哦,哈哈哈,当然。。我只是犯了一些愚蠢的错误Shey Aelor,你怎么能说“这是错误的”,在问题中写着“它工作正常,但当用户进入”电子邮件末尾的“空间”时,这清楚地表明他希望的空间是可选的。当然,试着理解我说的是什么,
除非
这意味着
如果没有
现在既然你有了可选的空格,它是正确的,但当我发表评论时,它不是:)嘿,埃勒,你怎么能说“这是错误的”,在问题中,它写着“它工作正常,但当用户在电子邮件末尾进入”空格时,这清楚地表明他希望的空间是可选的。请务必试着理解我说的是什么,
,除非
,这意味着
如果不是
,现在既然你有了可选的空间,这是正确的,但在我发表评论的那一刻,它不是:)