这是我希望与之匹配的模式。
我已经开始这样的事情^\d{1,}.^\d{1,}$
不确定完成此事。
注意:我将x称为数字
我想在 HTML5 Pattern attribute
和JavaScript string.match("")
中使用 RegEx
清晰度:我的意思是" 1.02"是允许的,但" 0"或者" 0.0"不允许
答案 0 :(得分:1)
这就是你需要的吗?
^(?!^0$)(?=.{1,11}$)(([1-9][0-9]*|0)(\.[0-9]*[1-9])?)$
答案 1 :(得分:1)
我认为正则表达式不是验证数字的好方法,但如果你想要......
r = /^(?=.*[1-9])(?=.{1,11}$)([1-9][0-9]*|0)(\.[0-9]+)?$/
"1 1.2 0.2 100.2 00.1 0.00 0 234890324908324908342".split(" ").forEach(function(x) {
console.log(x, r.test(x)) })
1 true
1.2 true
0.2 true
100.2 true
00.1 false
0.00 false
0 false
234890324908324908342 false
这可能更准确 - 不接受尾随零,如123.45600
:
r = /^(?=.*[1-9])(?=.{1,11}$)([1-9][0-9]*|0)(\.[0-9]*[1-9])?$/