1

我想验证 javascript 中的字段至少有 1 并且应该是正数或小数。

例子:

1
1.1
0.1
10.10

我当前的正则表达式如下所示:

var _RegEx = /^[+]?([0-9]+(?:[\.][0-9]*)?|\.[0-9]+)$/;
4

3 回答 3

2

简单的:

 /^\+?(\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)

多亏了杰克,最后一个不再那么简单了。:/

于 2013-10-28T06:01:42.010 回答
1
^\+?(\d*[1-9]\d*(\.\d*[1-9]\d*)?)$

正则表达式匹配:

  1. 任何大于零的数
  2. 带或不带十进制数
  3. 如果未插入数字后跟 (.) 则不匹配
于 2021-04-16T07:13:33.973 回答
0
^((0?0?\.([1-9]\d*|0[1-9]\d*))|(([1-9]|0[1-9])\d*(\.\d+)?))$

12.34
00.34
0.34
109.341
0.00 (not matched)
.9
9
09
0 (not matched)
于 2016-07-28T09:51:00.650 回答