如何使用正则表达式验证器验证电子邮件地址?

时间:2014-03-18 10:03:52

标签: c# asp.net regex validation email

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

<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>

它工作正常,但是当用户进入&#34; &#34; (空格)在电子邮件的最后,它停止工作并宣布有效的电子邮件无效,请帮助我如何解决这个问题。

2 个答案:

答案 0 :(得分:5)

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

像这样

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

我在这里设置了一个演示

http://regex101.com/r/tX7mA8

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

我对你的语言并不多,所以我认为默认情况下那些锚标签会出现在那里

答案 1 :(得分:0)

请使用:

ValidationExpression="\s*\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*"代替您的验证表达。

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

http://www.c-sharpcorner.com/forums/