数値を判定
数値を判定するには、次のような方法で可能です。
- ※ 数字ではなく数値であることに注意してください。
- ※ 100%数値であることを保証するものではありません。
JavaScript (ES5)
/**
* 数値を判定
* @param {any} target 判定する値
* @return {boolean} 判定した結果を返す
*/
var isFigures = function(target) {
return typeof target === 'number' && isFinite(target) && !isNaN(target);
};
var result1 = isFigures(123), // true
result2 = isFigures('123'), // false
result3 = isFigures(0), // true
result4 = isFigures(-1), // true
result5 = isFigures(1.23), // true
result5 = isFigures(0123), // true
result5 = isFigures(0xFF), // true
result6 = isFigures([]), // false
result7 = isFigures({}), // false
result8 = isFigures(true), // false
result9 = isFigures(false), // false
result10 = isFigures(null), // false
result11 = isFigures(undefined), // false
result12 = isFigures(Infinity); // false
JavaScript (ES6以降)
/**
* 数値を判定
* @param {any} target 判定する値
* @returns {boolean} 判定した結果を返す
*/
const isFigures = target => typeof target === 'number' && Number.isFinite(target) && !Number.isNaN(target);
console.log(isFigures(123)); // true
console.log(isFigures('123')); // false
console.log(isFigures(0)); // true
console.log(isFigures(-1)); // true
console.log(isFigures(1.23)); // true
console.log(isFigures(0123)); // true
console.log(isFigures(0xFF)); // true
console.log(isFigures([])); // false
console.log(isFigures({})); // false
console.log(isFigures(true)); // false
console.log(isFigures(false)); // false
console.log(isFigures(null)); // false
console.log(isFigures(undefined)); // false
console.log(isFigures(Infinity)); // false
typeof
演算子で型を判定します。
Number.isFinite
メソッド(ECMAScript 5以下はisFinite
関数)で有限数かを判定します。
Number.isNaN
メソッド(ECMAScript 5以下はisNaN
関数)で数値型かを判定します。
もし整数だけであれば、加えてNumber.isInteger
メソッドを組み合わせるとよいかと思います。