2010-05-16 32 views
0

我不明白;这应该是简单的:REGEX拒绝简单字母数字

为什么这个文本框中输入:

Foo 2010 

通过这个表达式验证时间:

ValidationExpression="^[a-zA-Z0-9 -_!]+$" 

抛出一个无效的输入错误?它旨在允许alphamumerics,空格,破折号,下划线和感叹号。

正则表达式让我头疼......

+0

呜呜..有**美孚之间的空间**和** ** 2010这当然会不匹配,不是吗? – Vagaus 2010-05-16 21:31:42

回答

3

破折号-应该[后右侧放置或放置]之前或\
否则会被视为一类范围的元字符转义。

试试这个:ValidationExpression="^[-a-zA-Z0-9 _!]+$"

+0

或者他可以添加'\ -' – BrunoLM 2010-05-16 21:49:07

+0

@BrunoLM,谢谢。我更新了我的答案。 – 2010-05-16 21:52:25

+0

谢谢尼克!感谢布鲁诺!工作很好。 – GDB 2010-05-16 23:45:30