Javascript 正则表达式,用于验证数字是否以前导零开头

Javascript regex to validate if number begins with leading zero

本文关键字:开头 是否 数字 正则表达式 用于 验证 Javascript      更新时间:2023-09-26

我需要使用正则表达式验证一些输入。

下面是一些示例用例和预期结果。

0001     - Matched
001      - Matched
01       - Matched
00.12312 - Matched
000.1232 - Matched
1        - Not matched
20       - Not matched
0.1      - Not matched
0.123123 - Not matched

像这样的正则表达式会是什么样子?如果第一个字符0,第二个字符numerical[0-9]则无效。

我已经试过了,但它不起作用。

[0][0-9]

试试这个正则表达式:

^0[0-9].*$

它将匹配以0开头后跟数字的任何内容。

它将"匹配"您所谓的"无效"。

测试代码应使其更清晰:

var regExp = /^0[0-9].*$/
console.log(regExp.test("0001")); // true
console.log(regExp.test("001")); // true
console.log(regExp.test("01")); // true
console.log(regExp.test("00.12312")); // true
console.log(regExp.test("000.1232")); // true
console.log(regExp.test("1")); // false
console.log(regExp.test("20")); // false
console.log(regExp.test("0.1")); // false
console.log(regExp.test("0.123123")); // false
你可以

使用这样的东西:-

var a = "0001";
/^[0][0-9]/.test(a)
你可以

试试这种模式,这个想法是使用锚点^(用于开始(和$(用于结束(来限制您要查找的结果:

^0+'d*(?:'.'d+)?$
0+[1-9][0-9]*

至少匹配一个零,后跟一个非零数字,后跟任意数量的数字。与孤独的 0 不匹配。

这个:

/0'd+/.test("0001")
// true

如果"0"必须是第一个字符,则:

/^0'd+/.test("0001")