1

JavaScript のフィールドが少なくとも 1 で、正の数または 10 進数である必要があることを検証したいと考えています。

例:

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 に答える
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 に答える