ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript は数値かどうかをどのように判断するのでしょうか?
JavaScript が数値かどうかを判断する方法: 1. [isNaN()] 関数を使用する; 2. 正規表現を使用する; 3. [parseFloat()] の戻り値を使用する。
このチュートリアルの動作環境: Windows 7 システム、JavaScript バージョン 1.8.5、DELL G3 コンピューター。
数値かどうかを判断する JavaScript メソッド:
方法 1: isNaN() 関数を使用します
isNaN( ) 関数 js に付属しているグローバル関数で、引数が数値以外かどうかを確認するために isNaN() 関数を使用します。
値 x が特殊な非数値 NaN (またはそのような値に変換できる) の場合、戻り値は true ですが、値 x が別の値の場合は、false が返されます。
isNaN() の欠点は、null、スペース、空の文字列が 0 として扱われることです。
NaN: Not a Number
<script> document.write(isNaN(123)); //数字 ----false document.write(isNaN(-1.23)); //数字 ----false document.write(isNaN(5-2)); //数字 ----false document.write(isNaN(0)); //数字 ----false document.write(isNaN("Hello")); //字符串 ----true document.write(isNaN("2005/12/12")); //字符串----true </script>
欠点: isNaN() は Null になります。 、スペース、空文字列は 0 として扱われるため、チェックは厳密ではありません。
したがって、それを処理し、typeof 演算子とともに使用します。
例:
// true:数值型的,false:非数值型 function myIsNaN(value) { return (typeof value === 'number' && !isNaN(value)); } myIsNaN(10); ----true myIsNaN(null); ----false myIsNaN( ); ----false myIsNaN(); ----false
注: '36.3'、typeof value === 'number' の場合、false が返されます。文字列型数値も true を返すようにしたい場合は、次のようにします。次の方法 3
方法 2: 正規表現
(1) を使用して、数値 (正負の整数、0 を含む) であるかどうかを確認します。正と負の浮動小数点数) true
/** * 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true **/ function isNumber(val){ var regPos = /^[0-9]+.?[0-9]*/; //判断是否是数字。 if(regPos.test(val) ){ return true; }else{ return false; } }
(2) を返します。正と負の数値が検証された場合は、true
/** * 校验正负正数就返回true **/ function isIntNum(val){ var regPos = / ^\d+$/; // 非负整数 var regNeg = /^\-[1-9][0-9]*$/; // 负整数 if(regPos.test(val) && regNeg.test(val)){ return true; }else{ return false; } }
方法 3: return を使用します。 parseFloat() の値
parseFloat() 関数は文字列を解析し、浮動小数点数を返します。
この関数は、文字列の最初の文字が数字であるかどうかを指定します。そうである場合、文字列は数値の末尾に達するまで解析され、数値は文字列ではなく数値として返されます。
使用法: パラメータで指定された文字列を浮動小数点数に解析して返します。
/** * 验证数据 是数字:返回true;不是数字:返回false **/ function Number(val) { if (parseFloat(val).toString() == "NaN") { return false; } else { return true; } }
isNaN(val)は空文字列、スペースの判定はできません
空文字列、スペース、nullの場合、isNaNは数値0として処理されます
そして、parseInt と parseFloat は、isNaN チェックが緩いことが原因でエラー メッセージを返します。
関連する無料学習の推奨事項: JavaScript ビデオ チュートリアル
以上がJavaScript は数値かどうかをどのように判断するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。