正则表达式,允许单词字符和一些特殊字符但不包含逗号

时间:2012-07-06 17:51:25

标签: c# regex

我有一个名为“分类”的视图模型将在我的MVC网站中使用。

我正在尝试使用正则表达式属性在此viewmodel上验证名为“描述”的属性。

此“描述”属性的要求是:

  • 仅允许以下字符:
    • 字母,数字,空格和以下任何字符_ - +() / \

因此,这些值应通过验证:

  • 测试
  • TEST1
  • TEST1 _
  • t(e_ s)t1 i / s \ good + -

这些应该失败:

  • 吨,测试
  • t.test
  • 测试!
  • TE!@#$%ST

这是我到目前为止的正则表达式:

^[a-zA-Z0-9 _+-\/\\\(\)]+$

上面的所有预期值都在传递,但是应该失败列表中的前两个值(逗号和句点值)也正在传递,这是错误的!这非常令人沮丧。

请告诉我正常表达中遗漏的内容。

提前多多感谢,

中号

1 个答案:

答案 0 :(得分:4)

您需要转义角色类中的' - '短划线

^[a-zA-Z0-9 _+\-\/\\\(\)]+$
没有它你会得到:

  

“+”和“/”«+ - /»**

之间范围内的字符