ASP.NET MVC属性在整个字符串匹配中不起作用

时间:2013-08-01 06:27:51

标签: asp.net-mvc regex validation

为什么我在ASP.NET MVC视图模型类中指定以下定义:

     [StringLength(11)]
     [RegularExpression(@"‎^(09)[1-3][0-9]\d{7}$")]
     public string Mobile { get; set; }

这种格式在伊朗移动:

开始于:09

1到3之间的数字

0到9之间的7位数


但是当我输入手机号码时(例如09124208640)ModelState无效并收到此错误消息:

The field Mobile must match the regular expression '‎^(09)[1-3][0-9]\\d{7}$'.

2 个答案:

答案 0 :(得分:1)

你有一个错字:

"‎^(09)[1-3][0-9]\d{7]$"
                    ^

]替换为}

答案 1 :(得分:0)

this answer开始,请考虑以下正则表达式:

^09[1|3][0-9]{8}$

[1|3]匹配1|3。这似乎是错误的,导致我们:

^09[13][0-9]{8}$

your comment开始,如果您需要接受第三位数字中的2

^09[1-3][0-9]{8}$