我试图限制用户可以输入文本框并使用此正则表达式的标点符号:
^[\w ,-–\[\\\^\$\.\|\?\*\+\(\)\{\}/!@#&\`\.'\n\r\f\t""’]*$
Run Code Online (Sandbox Code Playgroud)
为什么>和<产生匹配?它们不包含在正则表达式中.注意:这是在asp.net正则表达式验证器中使用.
编辑:这是asp.net源码:
<input runat="server" type="text" id="txt_FName" class="textbox" maxlength="60" />
<asp:RegularExpressionValidator ID="rfvRegexFName" runat="server" ControlToValidate="txt_FName" ErrorMessage="<%$ Resources:Subscribe, inputValidationError %>" />
Run Code Online (Sandbox Code Playgroud)
在后面的代码中我添加了表达式:
rfvRegexFName.ValidationExpression = @"^[\w ,-–\[\\\^\$\.\|\?\*\+\(\)\{\}/!@#&\`\.'\n\r\f\t""’]*$";
Run Code Online (Sandbox Code Playgroud)
为什么>和<产生匹配?
可能是因为-(连字符),-–匹配字符范围[ ,to –].要么转义连字符,要么将连,\-–字符放在类的开头或结尾,这样会使字符串与字面值匹配-.
另外请注意,你不必逃避$,.,|,?,*,+,(,),{和}字符类中
| 归档时间: |
|
| 查看次数: |
1077 次 |
| 最近记录: |