これは、整数を検証するためのソリューションです。誰かがカリムの答えの論理を説明してもらえますか.
これは完全に機能しますが、その方法を理解できません。
var intRegex = /^\d+$/;
if(intRegex.test(someNumber)) {
alert('I am an int');
...
}
これは、整数を検証するためのソリューションです。誰かがカリムの答えの論理を説明してもらえますか.
これは完全に機能しますが、その方法を理解できません。
var intRegex = /^\d+$/;
if(intRegex.test(someNumber)) {
alert('I am an int');
...
}
この正規表現の方が良いかもしれません/^[1-9]+\d*$/
^ // beginning of the string
[1-9] // numeric char [1-9]
+ // 1 or more occurrence of the prior
\d // numeric char [0-9]
* // 0 or more occurrences of the prior
$ // end of the string
また、事前にゼロが埋め込まれた負でない整数に対してもテストします
非負の整数は、「0 または正の整数」です。
つまり、負でない整数を検証しようとしています。
上記の回答は、-0
やなどの整数が含まれていないため不十分です-0000
。技術的には、解析後に非負の整数になります。+
他の回答も、前にある整数を検証しません。
検証には次の正規表現を使用できます。
/^(\+?\d+|-?0+)$/
説明:
^ # Beginning of String
( # Capturing Group
\+? # Optional '+' Sign
\d+ # One or More Digits (0 - 9)
| # OR
-? # Optional '-' Sign
0+ # One or More 0 Digits
) # End Capturing Group
$ # End of String
次のテスト ケースは true を返します: -0
, -0000
, 0
, 00000
, +0
, +0000
, 1
, . 次のテスト ケースはfalse を返します: 、、、。12345
+1
+1234
-12.3
123.4
-1234
-1
注: この正規表現は、科学表記法で記述された整数文字列では機能しません。