作成日:2018-03-23, 更新日:2018-03-23
基本
下記の3種で数値かどうかチェックしてくれる。
・「$.isNumeric()」は、値が「数値」か「数値に変換できるか」をチェック。
・「isNaN()」は、値が「NaN(Not a Number:非数)」かどうかをチェック。
・「isFinite()」は、値が「有限数」かチェック。
form等で数字のみかどうかチェックしたいときは正規表現でチェックする。
$.isNumeric()のサンプル
// true (numeric)
$.isNumeric( "-10" )
$.isNumeric( "0" )
$.isNumeric( 0xFF )
$.isNumeric( "0xFF" )
$.isNumeric( "8e5" )
$.isNumeric( "3.1415" )
$.isNumeric( +10 )
$.isNumeric( 0144 )// false (non-numeric)
$.isNumeric( "-0x42" )
$.isNumeric( "7.2acdgs" )
$.isNumeric( "" )
$.isNumeric( {} )
$.isNumeric( NaN )
$.isNumeric( null )
$.isNumeric( true )
$.isNumeric( Infinity )
$.isNumeric( undefined )
isNaN()のサンプル
// true:「NaN(Not a Number:非数)」である→数字・数値ではない isNaN('abc'); isNaN('true'); // 文字列としての「true」 isNaN(undefined); // false :数字・数値 isNaN(123); isNaN(0x12); // 16進リテラル isNaN('123'); // 文字列を数値に変換してチェックしてくれる isNaN('0x12'); // 文字列を数値に変換してチェックしてくれる isNaN(true); // bool値は「1」or「0」 isNaN(null);
isFinite()のサンプル
// true:有限数である isFinite(0); isFinite(2e64); isFinite(null); // false isFinite(Infinity); isFinite(NaN); isFinite(-Infinity); // 他 isFinite("0"); // true Number.isFinite("0") // false
正規表現でチェック
var str = 〇〇〇; if( !str.match(/^[0-9]+$/) ){ // 数字以外が含まれている }