Javascript 正则表达式表示正数+;大于零的小数点(0.1)
我想验证javascript中的字段是否至少有1,并且应该是正数或小数 示例:Javascript 正则表达式表示正数+;大于零的小数点(0.1),javascript,jquery,regex,Javascript,Jquery,Regex,我想验证javascript中的字段是否至少有1,并且应该是正数或小数 示例: 1 1.1 0.1 10.10 我当前的正则表达式如下所示: var _RegEx = /^[+]?([0-9]+(?:[\.][0-9]*)?|\.[0-9]+)$/; 简单: /^\+?(\d*[1-9]\d*\.?|\d*\.\d*[1-9]\d*)$/.test(x) 0 < parseInt(x, 10) && parseInt(x, 10) < Infinity 0
1
1.1
0.1
10.10
我当前的正则表达式如下所示:
var _RegEx = /^[+]?([0-9]+(?:[\.][0-9]*)?|\.[0-9]+)$/;
简单:
/^\+?(\d*[1-9]\d*\.?|\d*\.\d*[1-9]\d*)$/.test(x)
0 < parseInt(x, 10) && parseInt(x, 10) < Infinity
0 < +x && +x < Infinity && !/[^\d.+]/.test(x)
更简单:
/^\+?(\d*[1-9]\d*\.?|\d*\.\d*[1-9]\d*)$/.test(x)
0 < parseInt(x, 10) && parseInt(x, 10) < Infinity
0 < +x && +x < Infinity && !/[^\d.+]/.test(x)
0
最简单:
/^\+?(\d*[1-9]\d*\.?|\d*\.\d*[1-9]\d*)$/.test(x)
0 < parseInt(x, 10) && parseInt(x, 10) < Infinity
0 < +x && +x < Infinity && !/[^\d.+]/.test(x)
0<+x&&+x<无限&&/[^\d.+]/.test(x)
多亏了杰克,最后一个不再那么简单了/
^((0?0?\.([1-9]\d*|0[1-9]\d*))|(([1-9]|0[1-9])\d*(\.\d+)?))$
要匹配的正则表达式:
如果
+val>0
?还需要isFinite(val)
假设不允许Infinity
。有问题:SyntaxError:Invalid regular expression://^+([0-9]+(?:[.][0-9]*)?|[0-9]+)$/:无需重复的内容
已修复。需要转义literal+。请注意,'0xff'
将在“最简单的情况”下“起作用”,但在其他两种情况下不起作用:)这与0.1
不匹配,但应根据OP。