2014-10-06 173 views
0

我想只允许空格,连字符,下划线&逗号以及字母&数字。但是这不能按需要工作。允许某些特殊字符 - 正则表达式

<asp:RegularExpressionValidator ControlToValidate="txtQuestion" 
Display="dynamic" runat="server" ErrorMessage="*" 
ValidationExpression="^[a-zA-Z0-9-_,\s]$"></asp:RegularExpressionValidator> 

Character ShownResult 
-   valid 
_   valid 
,   valid 
-_   invalid //this should be valid for me 
+1

您的字符组“[a-zA-Z0-9 -_,\ s]”匹配单个字符。添加一个量词,比如'[a-zA-Z0-9 -_,\ s] +'使它匹配多个字符。 – 2014-10-06 09:59:21

回答

1

认沽-符号在最后或在字符类中的第一个,或考虑其逃逸,否则将充当范围运营商。

^[a-zA-Z0-9_,\s-]+$ 

添加+字符类后允许一个或多个字符,否则将只允许从列表中选择单个字符。

+0

没有工作。重复的任何sp.chars都会显示无效,例如。-_或 - ,或__ – Qwerty 2014-10-06 09:58:00

+1

在char类后面加上'+'以允许一个或多个字符,否则它将只允许列表中的单个字符。 – 2014-10-06 09:58:53

+0

非常感谢。这工作。 – Qwerty 2014-10-06 10:02:44

0

如果你想文本字段惟独数字和字符@%?*使用下面再

ValidationExpression = “[0-9 @%?]

这将适用于任何字符组合

相关问题