目前我正在尝试找到一个正则表达式,它执行以下操作
1)检查号码
2)允许最大长度为3
3)不以0开头
我有以下正则表达式,工作正常
^[0-9]{1,3}$
上面的正则表达式只允许最多3位数的数字,但我不知道如何在开头阻止0。
码
var numericRegex = new RegExp("^[1-9][0-9]{0,2}$");
numericRegex.test(123) //false
让我知道我错过了什么
由于
答案 0 :(得分:2)
试试这样:
^[1-9][0-9]?[0-9]?$
或:
^[1-9][0-9]{0,2}$
在node.js中,它可以像这样使用:
> "123".match(/^[1-9][0-9]{0,2}$/)
[ '123', index: 0, input: '123' ]
> "023".match(/^[1-9][0-9]{0,2}$/)
null
> "123".match(/^[1-9][0-9]?[0-9]?$/)
[ '123', index: 0, input: '123' ]
> "023".match(/^[1-9][0-9]?[0-9]?$/)
null
另一个答案也很好:
> "123".match(/^(?!0)\d{1,3}$/)
[ '123', index: 0, input: '123' ]
> "023".match(/^(?!0)\d{1,3}$/)
null
答案 1 :(得分:2)
或者可以用
完成^(?!0)\d{1,3}$