正则表达式验证器 - 如何包含某些特殊字符

时间:2012-10-18 15:19:23

标签: javascript regex

我在我的正则表达式验证器上使用以下正则表达式

<asp:RegularExpressionValidator ID="revAddress" runat="server" ControlToValidate="txtAddress" ValidationExpression="^[a-zA-Z0-9 ]+$" ErrorMessage="Alphabets and Numbers only" ForeColor="Red"> </asp:RegularExpressionValidator>

表达式为 - ^ [a-zA-Z0-9] + $

这允许字母,数字和空格,我试过。 \,它没有用 现在,想知道如何包含这些特殊字符。

点(。)逗号(,)hypen( - )和斜杠(/)

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

只需在您的课程中添加这些字符(转义连字符和/

 ^[a-zA-Z0-9,.\/\-]+$

示例jsbin:http://jsbin.com/eweren/2/edit

答案 1 :(得分:1)

我想这应该可以解决问题:

ValidationExpression="^[a-zA-Z0-9 ./,-]+$"

在提到的符号中,只有'-'(连字符)可以在正则表达式字符类中具有特殊含义 - 但前提是它不是第一个或最后一个(使用它)指定一系列字符。)

换句话说,不应该这样写:

ValidationExpression="^[a-zA-Z0-9 .-/,]+$"
                                  ^^^ <- parsed as 'characters between . and /'

答案 2 :(得分:1)

您需要将-列为[...]

中的第一个或最后一个字符
^[a-zA-Z0-9 .,/-]+$

[-a-zA-Z0-9 .,/]+$

在它之间具有范围含义,就像您在a-zA-Z0-9中使用它一样。

其他选项是-

逃避\
^[a-zA-Z0-9 .,\-/]+$

某些环境还需要转义/个字符。因为逃避没有伤害,你应该去

^[a-zA-Z0-9 .,\-\/]+$