Regex JSON架构字段必须具有1-9位数字,但拒绝1-9个零而没有其他数字

时间:2014-12-09 02:26:00

标签: regex json

使用JSON模式模式,我试图将正整数从1到9位传递。

前导零和尾随零是好的。

1到9位的所有零(即转换时的数字等于零)无效。

有效输入示例:

123456789
012345678
123
0123

输入示例无效:

0
000
0000000
An Empty string
1234d5
123456789123

我尝试了

的变体
^(?!0{1,9})[0-9]{1,9}$

但是错误地导致有效的前导零数字。

任何想法都乐意接受。

2 个答案:

答案 0 :(得分:0)

要解决此问题,只需将字符串$锚的结尾添加到您的否定前瞻。

^(?!0{1,9}$)[0-9]{1,9}$
          ^

Live Demo | Explanation

答案 1 :(得分:0)

不需要regexp,只要说出你的意思。

!isNaN(x) && +x !== 0 && x.length >=1 && x.length <= 9