条形码的正则表达式(12或14位)

时间:2011-08-30 16:03:37

标签: regex

我正在寻找符合条形码的正则表达式。条形码可以是12或14位长(从不13),第一个数字必须是8。示例:

800909887898  
80903243234323

我有这样的事情:^[8]{1}[0-9]{11}$但是我不知道最后2位数字的热点。它可以是2位数字或null(表达式[0-9]{0-2}将无法正常工作,因为量词不会像OR一样工作。)

2 个答案:

答案 0 :(得分:7)

检查一下

^8[0-9]{11}([0-9]{2})?$

[0-9] {2}表示两位数

(...)?意味着零或一次

答案 1 :(得分:2)

所以,如果你想要一个以8开头并且可以正好是12或14位的东西,那么你可以在正则表达式中使用|作为“或”:

^8\d{11}$|^8\d{13}$