RegEx允许12或13位数

时间:2016-02-17 05:21:04

标签: regex asp.net-mvc

在我的MVC应用程序中,我使用以下RegEx定义验证

[RegularExpression(@"\d{8}0[1-2]\d{3}", ErrorMessage = "Must be numeric, 12 or 13 characters long & Format xxxxxxxx[01 or 02]xxx")]

但我想允许12或13个字符。 d{3}似乎强制整体上我输入了13个字符

要允许它接受12或13,我已将d{3}更改为d{2},现在已接受12。

但是 - 我能确定它仍然需要13个字符吗?

1 个答案:

答案 0 :(得分:2)

  

必须为数字,长度为12或13个字符&格式xxxxxxxx [01或02] xxx

要在前九位后允许数字12

^\d{8}0[12]\d{2,3}$
       ^^^^         : Allow 1 or 2 after `0`
           ^^^^^^^  : Any two or three digits

请注意,[12]也可以使用OR /更改写为(1|2)

Demo