C# RegularExpressionValidator中的ValidationExpression
我有这样的电子邮件验证正则表达式C# RegularExpressionValidator中的ValidationExpression,c#,javascript,asp.net,C#,Javascript,Asp.net,我有这样的电子邮件验证正则表达式 <asp:TextBox ID="TxtEmail" runat="server"></asp:TextBox> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TxtEmail" ErrorMessage="*" ForeColor="#007528" ValidationEx
<asp:TextBox ID="TxtEmail" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TxtEmail" ErrorMessage="*" ForeColor="#007528" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([.]\w+)*"> </asp:RegularExpressionValidator>
它不接受以下邮件地址:test-1-@hotmail.com
如何编辑正则表达式?请检查以下内容:
例如
我认为在ASP.NETVisualStudio中,可以为常见的正则表达式验证(如电话号码和电子邮件)提供一些选择。对于电子邮件,我使用下面的正则表达式,它适用于您的示例:
^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$
正则表达式的问题是不接受-+。“if”不带字母数字字符,加上接受其他内容,如
asdf@asd.cl#safd
作为有效字符串,直到#字符,您可以使用表达式^\w+([-+.]+\w*)*@\w+([-.]\w+*\。\w+([.]\w+)+$
我在行首和行尾添加行首和行尾,并将([-+.]+\w+)
的([-+.]+\w*)
更改为接受零个或多个字母数字字符。我希望这能有所帮助。您不应该使用正则表达式进行电子邮件验证,尽管有一个正则表达式可以接受有效的电子邮件
^[a-zA-Z0-9\_\-]+[a-zA-Z0-9\.\_\-]*@([a-zA-Z0-9\_\-]+\.)+([a-zA-Z]{2,4}|travel|museum)$
^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$