ホームページ > 記事 > ウェブフロントエンド > jsは値が数値かどうかを判断します
値が数値であるかどうかを判断する
JS メソッド: 1. isNaN() 関数を使用して、値が数値であるかどうかを判断します; 2. 正規表現を使用して、値が数値であるかどうかを判断します; 3. parseFloat() 関数を使用して、値が数値かどうかを判断します。は数値です。
この記事の動作環境: Windows7 システム、DELL G3 コンピューター
JS は、値が
1. isNaN() 関数を使用する
isNaN() の欠点は、null、スペース、空の文字列が 0# として扱われることです。
##NaN: 数値ではありません/** *判断是否是数字 * **/ function isRealNum(val){ // isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除, if(val === "" || val ==null){ return false; } if(!isNaN(val)){ //对于空数组和只有一个数值成员的数组或全是数字组成的字符串,isNaN返回false,例如:'123'、[]、[2]、['123'],isNaN返回false, //所以如果不需要val包含这些特殊情况,则这个判断改写为if(!isNaN(val) && typeof val === 'number' ) return true; } else{ return false; } }isNaN() 関数を使用して値が数値かどうかを判断する最も正しい方法は次のとおりです:
// true:数值型的,false:非数值型 function myIsNaN(value) { return typeof value === 'number' && !isNaN(value); }
isNaN() の詳細説明 [推奨:js 基本チュートリアル ]
参考リンク:https://wangdoc.com/javascript/types/number.html# isnan空の配列および数値メンバーが 1 つだけある配列の場合、isNaN は
false を返します。
isNaN([]) // false isNaN([123]) // false isNaN(['123']) // false上記のコードが
false を返す理由は、これらの配列が
Number 関数によって数値に変換できるためです。「」の章を参照してください。データ型変換」。
isNaN を使用する前にデータ型を決定することが最善です。
function myIsNaN(value) { return typeof value === 'number' && !isNaN(value); }
2. 正規表現
(1),を使用して、数値 (正と負の整数、0 と正の整数を含む) であるかどうかを確認します。および負の浮動小数点数) true
/** * 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true **/function isNumber(val){ var regPos = /^\d+(\.\d+)?$/; //非负浮点数 var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数 if(regPos.test(val) && regNeg.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. parseFloat() 関数を使用します
(parseFloat(val).toString() == "NaN"
以上がjsは値が数値かどうかを判断しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。