Javascript 正则表达式表示正数+;大于零的小数点(0.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

我想验证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 < +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。