これは整数を検証するためのソリューションです。誰かKarim's answerの論理を説明してください。
これは完全に動作しますが、私はどのように理解できません。正規表現のリファレンス文字列の検証javascriptで文字列が負ではない
var intRegex = /^\d+$/;
if(intRegex.test(someNumber)) {
alert('I am an int');
...
}
これは整数を検証するためのソリューションです。誰かKarim's answerの論理を説明してください。
これは完全に動作しますが、私はどのように理解できません。正規表現のリファレンス文字列の検証javascriptで文字列が負ではない
var intRegex = /^\d+$/;
if(intRegex.test(someNumber)) {
alert('I am an int');
...
}
チェックアウト:http://www.javascriptkit.com/javatutors/redev2.shtml
/^\d+$/
^ : Start of string
\d : A number [0-9]
+ : 1 or more of the previous
$ : End of string
正規表現:/^\d+$/
彼らはすべて組み合わされて
^ // beginning of the string
\d // numeric char [0-9]
+ // 1 or more from the last
$ // ends of the string
:文字列の先頭から
最後に1つ以上の数字char [0-9]と数字だけがあります。
この正規表現は良いかもしれ/^[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または正の整数」です。
、あなたは非負の整数を検証するために探しています。
-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
、12345
、+1
、+1234
である。 次のテストケースはfalseを返します。-12.3
,123.4
,-1234
、-1
。
注:この正規表現は、科学記法で書かれた整数文字列では機能しません。
私はこの質問がその答えに対するコメントであるべきだと思っています。そして、@ Karim自身が答えなければなりません。 – Bergi
このコードは完全に正しいわけではありません。例えば、 '000 ...(10,000 times).. 000'のような文字列を検証します。これはほとんど「数字」ではありません。 – georg