JavaScriptで数値を検証する方法|isNaN()関数の使い方を解説
JavaScriptである値が数値かどうかを検証したい場合は、isNaN() 関数を使用します。この関数は、引数に渡された値が「数値ではない(Not-a-Number)」かどうかを判定し、結果を真偽値(true / false)で返します。
isNaN()の基本的な動作
isNaN() の戻り値は以下のように解釈できます。
- true を返した場合 → その値は数値ではない
- false を返した場合 → その値は数値として有効
つまり、戻り値が false であれば、検証対象の値は数値であると判断できます。
サンプルコード
次のコードでは、ボタンをクリックすると複数の値に対して isNaN() を実行し、結果を画面に表示します。いずれも false が返されるため、これらの値が数値であることが確認できます。
<!DOCTYPE html>
<html>
<body>
<button onclick="display()">Check</button>
<p id="test"></p>
<script>
function display() {
var a = "";
a = a + isNaN(6234) + ": 6234<br>";
a = a + isNaN(-52.1) + ": -52.1<br>";
a = a + "上記の値はすべて false、つまり数値です。";
document.getElementById("test").innerHTML = a;
}
</script>
</body>
</html>
実行結果の例
false: 6234 false: -52.1 上記の値はすべて false、つまり数値です。
整数(6234)も負の小数(-52.1)も、どちらも有効な数値なので isNaN() は false を返します。
注意点:文字列の扱いと Number.isNaN()
isNaN() は引数を内部的に数値へ変換してから判定するため、isNaN("123") のような数値に変換できる文字列も false を返します。より厳密な型チェックを行いたい場合は、ES6(ECMAScript 2015)で導入された Number.isNaN() メソッドの使用を検討してください。こちらは引数が数値型であり、かつ NaN である場合にのみ true を返すため、意図しない型変換による誤判定を防げます。
-
JavaScriptで小数を検証するには?正規表現を使った実装例を解説
JavaScriptで小数を検証する方法 JavaScriptで、ユーザーが入力した値が正しい小数(小数点を含む数値)かどうかを判定したい場面はよくあります。そんなときに便利なのが正規表現です。本記事では、match()メソッドと正規表現を組み合わせて、入力値が小数かどうかを検証する方法を、具体的なコード例とともにわかりやすく解説します。 使用する正規表現パターン 今回の検証では、以下の正規表現を使用します。 /^[-+]?[0-9]+\.[0-9]+$/ このパターンの各要素の意味は次のとおりです。 ^[-+]?:文字列の先頭に符号(+ または -)が付いていても、付いていなくてもマッチ
-
JavaScriptで数値の桁数を数える方法を解説
JavaScriptで数値の桁数を求める方法 この課題の要件はとてもシンプルです。数値を受け取り、その桁数を返すJavaScript関数を作成する必要があります。 例を見てみましょう。 4567 の桁数は 4 423467 の桁数は 6 457 の桁数は 3 それでは、この関数のコードを実際に書いていきましょう。 実装例:再帰を使った解法 const num = 2353454; const digits = (num, count = 0) => { if(num){ return digits(Math.floor(num / 10), ++count);