【JavaScript】 文字列が数値であるかを判定する3つの方法

JavaScriptで文字列が数値であるかどうかを判定する方法には、さまざまなアプローチがあります。以下では、よく使われる方法をいくつか紹介します。

isNaN()関数を使用する方法

JavaScriptの組み込み関数であるisNaN()を使用することで、文字列が数値であるかどうかを簡単に判定できます。
isNaN()関数は、文字列がNaN(非数値)であるかどうかをチェックするため、数値であるかどうかを判断する際に適していますが、空文字列や空白文字列を数値として扱う場合にもtrueを返しますので注意が必要です。

const str = "123";
if (!isNaN(str)) {
    console.log("文字列は数値です。");
} else {
    console.log("文字列は数値ではありません。");
}

正規表現を使用する方法

正規表現を使って、文字列が数値の形式に一致するかどうかをチェックする方法もあります。

const str = "123";
if (/^\d+$/.test(str)) {
    console.log("文字列は数値です。");
} else {
    console.log("文字列は数値ではありません。");
}

parseFloat()関数を使用する方法

parseFloat()関数を使用して文字列を浮動小数点数に変換し、NaN(非数値)であるかどうかをチェックする方法もあります。
parseFloat()関数は、文字列を浮動小数点数に変換して判定するため、整数や小数点数を判定するのに便利ですが、文字列が数値として解釈できない場合でもfalseを返しますので注意が必要です。

const str = "123";
if (!isNaN(parseFloat(str))) {
    console.log("文字列は数値です。");
} else {
    console.log("文字列は数値ではありません。");
}

まとめ

JavaScriptで文字列が数値であるかを判定する方法には、isNaN()関数、正規表現、parseFloat()関数の3つがあります。それぞれの方法は特性が異なるため、状況に応じて使い分ける必要があります。isNaN()関数は空文字列や空白文字列を数値として扱う点に留意し、正規表現は特定の数値形式に一致するかどうかをチェックし、parseFloat()関数は浮動小数点数に変換して判定します。