2016-03-14 28 views
1

对于我试图创建下列要求一个正则表达式Asp.Net MVC模型验证:验证规则:正则表达式的字符不允许asp.net的MVC模型验证

  • 字符串长度1-5之间(包括1和5的限制)
  • 非字字符不允许
  • 下划线不允许

我可以写一个正则表达式女巫非字字符,但不是我的问题的倒数相匹配。

的Regex

非字字符和下划线匹配:

([\ W_])

字符串长度1和5之间:

{ 1-5}

Asp.net MVC代码:

namespace x 
{ 
    public class Model 
    { 
     [RegularExpression(@"")] 
     public string AString {get;set;} 
    } 
} 

回答

2

您可以使用

^[^\W_]{1,5}$ 

硒的demo

正则表达式崩溃:

  • ^ - 不是一个非文字字符,而不是一个_ 1至5次出现
  • $ - - 串的端部绳
  • [^\W_]{1,5}的开始。

[^...]negated character class在字符类任何字符匹配。

另外,当你想用正则表达式限制字符串长度时,你需要使用一些边界。在这种情况下,您可以依靠通常的开始/结束字符串anchors