数据注释正则表达式

时间:2017-06-15 23:36:38

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

我需要一个像这样的字符串的正则表达式:

离。 1234-1234-12345

其中前两个数字必须介于01-18之间,整个字符串必须长度为15个字符

示例:0511-xxxx-xxxxx。

我尝试使用[RegularExpression(@"^[0-9]{1,18}$", ErrorMessage = "Invalid Id.")]

但它不起作用,它甚至给我一个错误,说'','不见了。

让我们更容易,数字字符串长13个字符,前两个数字必须在01-18之间。

实施例。 1234567890123

(我更喜欢第一种格式,但这种格式也适用)。

我不知道如何使用正则表达式,所以如果有人可以给我一个链接到某个地方,我可以学习,我会非常感激。

最重要的是,如果有更好的方法可以在不使用正则表达式的情况下解决这个问题,我也会很感激。

显然,我的要求有点不清楚。我想要的是前两位数(XXxx-xxxx-xxxxx)是01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17 ,18。

1 个答案:

答案 0 :(得分:0)

你的前两个数字"有点不清楚,但是怎么样:

messageBody is other binary data format encodingType=2

如果你想匹配整个字符串而不只是找到子字符串,你需要

var pattern = @"(0\d|1[0-8])\d\d-\d{4}-\d{5}";

如果您没有用连字符分隔这些组,请使用:

var pattern = @"^(0\d|1[0-8])\d\d-\d{4}-\d{5}$";

您可以像

一样使用它
var pattern = @"^(0\d|1[0-8])\d{11}$";