フォームの入力値が数値かどうかのチェックをする

JavaScriptでフォームの入力値などが数値(整数値)とみなせるかどうかのチェックを行うサンプルです。

Program

フォームの入力値=文字列なので、数値に変換しても変わりないか?を基準にした場合

function isSuchi(s)
{
  var n = parseInt(s, 10);
  return ! isNaN(n) && s == String(n);
}

isSuchi("2345"); // → true
isSuchi("-2345"); // → true
isSuchi("002345"); // → false
isSuchi("2a3b4c5"); // → false
isSuchi("テスト"); // → false
isSuchi("0xff"); // → false

Demo

結果:

Memo

isNaN が近い動きをしますが、数値とみなせたら、先頭に0が余分についていても、16進数でもfalseとなります。

isNaN('asfdsadfa'); // true
isNaN('098765'); // false
isNaN(098765); // false
isNaN(98765); // false
isNaN(0xff); // false
isNaN('0xff'); // false

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です