jQueryで変数が整数かどうかを確認するにはどうすればよいですか?
例:
if (id == int) { // Do this }
URLからIDを取得するために以下を使用しています。
var id = $.getURLParam("id");
しかし、変数が整数であるかどうかを確認したいと思います。
jQueryで変数が整数かどうかを確認するにはどうすればよいですか?
例:
if (id == int) { // Do this }
URLからIDを取得するために以下を使用しています。
var id = $.getURLParam("id");
しかし、変数が整数であるかどうかを確認したいと思います。
これを試して:
if(Math.floor(id) == id && $.isNumeric(id))
alert('yes its an int!');
$.isNumeric(id)
数値であるかどうかをチェック
Math.floor(id) == id
し、実際に浮動小数点数ではなく整数値であるかどうかを判断します。float を int に解析すると、元の値とは異なる結果が得られます。int の場合、どちらも同じになります。
Here's a polyfill for the Number
predicate functions:
"use strict";
Number.isNaN = Number.isNaN ||
n => n !== n; // only NaN
Number.isNumeric = Number.isNumeric ||
n => n === +n; // all numbers excluding NaN
Number.isFinite = Number.isFinite ||
n => n === +n // all numbers excluding NaN
&& n >= Number.MIN_VALUE // and -Infinity
&& n <= Number.MAX_VALUE; // and +Infinity
Number.isInteger = Number.isInteger ||
n => n === +n // all numbers excluding NaN
&& n >= Number.MIN_VALUE // and -Infinity
&& n <= Number.MAX_VALUE // and +Infinity
&& !(n % 1); // and non-whole numbers
Number.isSafeInteger = Number.isSafeInteger ||
n => n === +n // all numbers excluding NaN
&& n >= Number.MIN_SAFE_INTEGER // and small unsafe numbers
&& n <= Number.MAX_SAFE_INTEGER // and big unsafe numbers
&& !(n % 1); // and non-whole numbers
All major browsers support these functions, except isNumeric
, which is not in the specification because I made it up. Hence, you can reduce the size of this polyfill:
"use strict";
Number.isNumeric = Number.isNumeric ||
n => n === +n; // all numbers excluding NaN
Alternatively, just inline the expression n === +n
manually.
jQuery の IsNumeric メソッドを使用します。
http://api.jquery.com/jQuery.isNumeric/
if ($.isNumeric(id)) {
//it's numeric
}
訂正: それは整数を保証しません。これは次のようになります。
if ( (id+"").match(/^\d+$/) ) {
//it's all digits
}
もちろん、それはjQueryを使用していませんが、ソリューションが機能する限り、jQueryは実際には必須ではないと思います