JavaScript匹配数字不为零或以零开头

时间:2013-06-25 09:15:35

标签: javascript regex

我有以下正则表达式,我试图只允许这样的数字:

1, 2, 3, 10, 11, 24 etc

而非0, 01, etc

if (!$(this).text().match(/^[1-9][0-9]/g)) {


}

这是对的吗?因为它不允许1,2,3等数字,但是11,12等

2 个答案:

答案 0 :(得分:9)

您需要在第二个*后指定[0-9]以匹配零个或多个数字。除了一位数字之外,这也不能匹配超过两位数的数字。正确的正则表达式是^[1-9][0-9]*

答案 1 :(得分:1)

尝试使用Replace()

if (!$(this).text().replace(/^(-?)0+/,'').match(/[1-9]?[0-9]*/))