ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript は数値かどうかをどのように判断するのでしょうか?

JavaScript は数値かどうかをどのように判断するのでしょうか?

coldplay.xixi
coldplay.xixiオリジナル
2021-04-09 15:12:598340ブラウズ

JavaScript が数値かどうかを判断する方法: 1. [isNaN()] 関数を使用する; 2. 正規表現を使用する; 3. [parseFloat()] の戻り値を使用する。

JavaScript は数値かどうかをどのように判断するのでしょうか?

このチュートリアルの動作環境: 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 === &#39;number&#39; && !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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。