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 { // それ以外 }
この「全角数字を半角に変換する関数」を利用して、全角の数字を半角にして比較するので
全角数字も数値に入れることができます。
以上です!
コメント