値が数値であるかどうかを判断する
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; } }
// 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; } }
正負の数値をチェックすると、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 サイトの他の関連記事を参照してください。