正则表达式检测前导零并检查长度为0到12位

Sha*_*hah 1 javascript regex

嗨我有一个javascript函数,检查0到12长度的有符号整数,我也想看看是否有任何前导0像0012应该返回false.

function sInteger0to12(str) {
    str = str.replace(/^\s+|\s+$/g, '');
    return /^[-+]?\d{0,12}$/.test(str);
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

Mar*_*ers 6

我假设以下内容应该匹配:

1
+1
-1
0
-123456789012
<empty>
Run Code Online (Sandbox Code Playgroud)

这些应该失败:

-
+
01
-01
1234567890123
00
+0
-0
Run Code Online (Sandbox Code Playgroud)

如果您不同意我上面的决定,请告诉我,我会尝试修复正则表达式.

这是你可以使用的正则表达式:

/^([-+]?[1-9]\d{,11}|0)?$/
Run Code Online (Sandbox Code Playgroud)

  • 这是编程很难的真正原因 - 你从一开始就无法得到明确的规范. (4认同)