我正在尝试将正则表达式设置为asp:RegularExpressionValidator
,其中包含电子邮件,数字(0-9)或英文字符(a-z A-Z)。
当我尝试在它们之间进行OR操作时:
<asp:TextBox ID="TextBox1" CssClass="textbox" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegFieldUserCodeLoginM" CssClass="" runat="server" ControlToValidate="TextBox1" ValidationGroup="LoginGroup"
Text="Only English characters and numbers are allowed , email addresses included!"
ValidationExpression="\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z | ^[a-zA-Z0-9]+$"></asp:RegularExpressionValidator>
正则表达式不起作用。
如何在两者之间进行OR操作?
谢谢
答案 0 :(得分:1)
您必须删除两个表达式之间|
标记两侧的空格:
<asp:TextBox ID="TextBox1" CssClass="textbox" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegFieldUserCodeLoginM" CssClass="" runat="server" ControlToValidate="TextBox1" ValidationGroup="LoginGroup"
Text="Only English characters and numbers are allowed , email addresses included!"
ValidationExpression="\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z|^[a-zA-Z0-9]+$"></asp:RegularExpressionValidator>