指定された値が数値かどうかをチェックするサンプルFunctionです。
サンプルソース
例1)値が数値かどうかチェックする(0~9のみかどうか)
1 2 3 4 |
function isNumber(val){ var regex = new RegExp(/^[0-9]+$/); return regex.test(val); } |
値が0~9のみで構成されている場合にtrueを返します。
(実行サンプル)
例2)値が数値かどうかチェックする(符号対応)
1 2 3 4 |
function isNumber(val){ var regex = new RegExp(/^[+-]?[0-9]+$/); return regex.test(val); } |
値が正数/負数の、整数値の場合にtrueを返します。
(実行サンプル)
例3)値が数値かどうかチェックする(符号、小数点対応)
1 2 3 4 |
function isNumber(val){ var regex = new RegExp(/^[-+]?[0-9]+(\.[0-9]+)?$/); return regex.test(val); } |
値が正数/負数の、整数値/小数値の場合にtrueを返します。
(実行サンプル)
解説
- 数値をチェックする標準関数には.isNaN()や.isFinite()等がありますが、これら関数は"NaN"や"Infinity"、指数表記の値(2E+3みたいな数値)も数値と判定するため、数値チェックするには正規表現で行うのが確実です。
- 参考までにisNaN関数、isFinite関数については以下ページをご覧ください。
⇒ [JavaScript] 数値が非数かどうかチェックを行う(isNaN)
⇒ [JavaScript] 数値が有限数かどうかチェックを行う(isFinite)