【jQuery】値が数値かどうかをチェックする方法

この記事は約2分で読めます。
広告

jQueryで値が数値かどうか判定する方法は「$.isNumeric()」を利用します。
使い方は次の通り。

値が数値か判断する方法

var num = 120;
if($.isNumeric(num)) {
  // 数値の時
} else {
  // それ以外
}

こちらが指定した値を「数値」か、「それ以外」かで判定する方法。


でもなぜだかわからないけど、このままだと全角数字だと「if」に入らない。
なので、下記のように書けば、全角数字も比較対象に入れることができます。

全角数字を数値に含めない比較方法

全角数字を「if」文で比較しつつ、数値に含めない場合の書き方は以下の通りです。

// 値が全角数字の時
var num = Number("1");
if($.isNumeric(num)) {
  // 数値の時
} else {
  // それ以外(全角数字も含む)
}

全角数字を数値に含めない場合の書き方でした。
「Number()」を利用すると、半角数字以外は「NaN」という文字列になります。
逆に全角数字を数値に含める場合は以下の書き方になります。

全角数字を数値に含める比較方法

全角数字を数値に含める場合は下記の方法で記述します。

// 全角数字を半角に変換する関数
function fw(str) {
  return str.replace(/[A-Za-z0-9]/g, function(s) {
    return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);
  });
}
// 全角数字を半角に変換
var num = fw("999");

if($.isNumeric(num)) {
  // 数値の時(全角数字も含む)
} else {
  // それ以外
}

この「全角数字を半角に変換する関数」を利用して、全角の数字を半角にして比較するので
全角数字も数値に入れることができます。

以上です!

コメント

タイトルとURLをコピーしました