模型中属性的正则表达式验证

时间:2017-08-23 07:37:22

标签: c# regex asp.net-mvc entity-framework data-annotations

我正在尝试验证必须具有九位数代码且不能以四个零或四个九结尾的属性,并且必须输入时不带特殊字符。

我尝试了以下代码 -

[RegularExpression(@"(^(?i:([a-z])(?!\1{2,}))*$)|(^[A-Ya-y1-8]*$)", ErrorMessage = "You can not have that")]
public string Test{ get; set; }

但它不起作用。

示例: exasdea0000asdea9999exasde@0000as_ea9999无法输入。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:4)

你可以写这样的正则表达式:

^(?!\d+[09]{4}$)\d{9}$

说明:

^                   // from start point
 (?!                // look forward to don't have
    .+              // some characters
    [09]{4}         // followed by four chars of 0 or 9
    $               // and finished
 )
 \d{9}              // nine characters of digits only
$                   // finished

[Regex Demo]