MVC3 RegularExpression属性 - 如何拒绝括号

时间:2013-01-10 10:39:16

标签: c# regex asp.net-mvc attributes brackets

我使用MVC3并且需要为模型中的属性创建RegularExpression属性,以验证用户是否未输入括号。有人知道这个正则表达式字符串是什么样的吗?

这就是我现在所拥有的。

[Required]
[RegularExpression("--enter regex here--", ErrorMessage = "You cannot use '[' or ']' on the title ")]
public string Title { get; set; }

2 个答案:

答案 0 :(得分:4)

您可以使用带有您不想要的字符的否定字符类。

请注意,方括号在正则表达式中被视为“特殊”,因此您需要像这样对它们进行转义:

[Required]
[RegularExpression(@"^[^\[\]]+$", ErrorMessage = "You cannot use '[' or ']' on the title ")]
public string Title { get; set; }

答案 1 :(得分:1)

以下内容应该:

[^\[\]]*

这是一个匹配任何非[]字符的字符类。请注意,[]会在字符类中转义

在属性中,这将是:

[RegularExpression(@"[^\[\]]*", 
                   ErrorMessage = "You cannot use '[' or ']' on the title ")]