MVC 4正则表达式忽略引起问题

时间:2014-09-03 20:34:23

标签: regex asp.net-mvc-4

我正在对提交进行常规表达式检查,当我把ignorcase没有任何内容时,例如下面这段代码有忽略,我放的任何单词都被拒绝

[RegularExpression("^((?!(stupid|www|gamble|http))./*i)*$", ErrorMessage = "Invalid word")]

但是如果我拿出ignorecase并把这样的代码放到那么它就可以了

[RegularExpression("^((?!(stupid|www|gamble|http)).)*$", ErrorMessage = "Invalid word")]

但是没有忽视,有人可以很容易地把Www或WWW放进去,所以我的问题是;无论如何,我可以使用ignorecase,以便它只影响正则表达式中的单词吗?

1 个答案:

答案 0 :(得分:0)

/*i不是.NET正则表达式的有效忽略大小写标记。您希望(?i)如下:

(?i)^((?!(stupid|www|gamble|http)).)*$

在您的代码中:

[RegularExpression("(?i)^((?!(stupid|www|gamble|http)).)*$", 
    ErrorMessage = "Invalid word")]

您可以阅读内联选项on MSDN