用于UPC-A型条形码的正则表达式

时间:2017-10-17 04:53:33

标签: regex

给定任何用户输入,如何使用正则表达式验证UPC-A类型的条形码?

考虑以下情况:

Input              Expected  Actual
00000000000        (X)       (Y)
000000000000       (Y)       (Y)
0000000000000      (X)       (Y)
90000000000        (X)       (Y)
900000000000       (Y)       (Y)
9000000000000      (X)       (Y)
99999999999        (X)       (X)
999999999999       (X)       (X)
9999999999999      (X)       (X)

我提出了以下表达式,但它不验证输入的长度,只是它包含规范要求的单个0

^([1-9]*[0]+[1-9]*)$

如何调整此表达式,使其仅匹配标记的个案,并考虑输入的总长度?

匹配的文本应为12个数字,且必须至少包含一个零。

1 个答案:

答案 0 :(得分:2)

你可以在这里使用正向前瞻来断言至少存在一个零:

^(?=.*0)[0-9]{12}$

Demo