Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk mengesahkan sama ada ia adalah jenis angka dalam javascript

Bagaimana untuk mengesahkan sama ada ia adalah jenis angka dalam javascript

藏色散人
藏色散人asal
2021-10-19 14:22:314132semak imbas

Kaedah Javascript untuk mengesahkan sama ada ia adalah jenis angka: 1. Gunakan fungsi isNaN() untuk menentukan sama ada nilai itu ialah nombor 2. Gunakan ungkapan biasa untuk menentukan 3. Gunakan fungsi parseFloat(). untuk menentukan.

Bagaimana untuk mengesahkan sama ada ia adalah jenis angka dalam javascript

Persekitaran pengendalian artikel ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.

Javascript mengesahkan sama ada ia adalah jenis angka? JS menentukan sama ada nilai ialah nombor

1 Menggunakan fungsi isNaN()

Kelemahan isNaN() ialah nol, ruang dan rentetan kosong akan dianggap sebagai 0.

NaN: Bukan Nombor

/**
*判断是否是数字
*
**/
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; 
  } 
}

Cara paling betul untuk menggunakan fungsi isNaN() untuk menentukan sama ada nilai ialah nombor ialah:

// true:数值型的,false:非数值型
  function myIsNaN(value) {
    return typeof value === 'number' && !isNaN(value);
  }

Penjelasan terperinci tentang isNaN()

Pautan rujukan: https://wangdoc.com/javascript/types/number.html#isnan

Untuk tatasusunan kosong Untuk tatasusunan dengan hanya satu ahli angka, isNaN mengembalikan palsu.

isNaN([]) // false
isNaN([123]) // false
isNaN(['123']) // false

Sebab kod di atas mengembalikan palsu ialah tatasusunan ini boleh ditukar kepada nilai berangka oleh fungsi Nombor. Sila rujuk bab "Penukaran Jenis Data".

Oleh itu, sebelum menggunakan isNaN, sebaiknya tentukan jenis data.

function myIsNaN(value) {
  return typeof value === 'number' && !isNaN(value);
}

2. Gunakan ungkapan biasa

(1 asalkan cek itu adalah nombor (termasuk integer positif dan negatif, 0 dan positif dan negatif). nombor titik terapung) Kembalikan benar

/**
* 校验只要是数字(包含正负整数,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 Apabila menyemak nombor positif dan negatif, kembalikan benar

/**
* 校验正负正数就返回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. Gunakan fungsi parseFloat()

/**
* 验证数据 是数字:返回true;不是数字:返回false
**/
function Number(val) {
  if (parseFloat(val).toString() == "NaN") {
    
    return false;
  } else {
    return true;
  }
}
//isNaN(val)不能判断空串或一个空格
//如果是一个空串、空格或null,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。

Pembelajaran yang disyorkan: "Tutorial Asas JavaScript"

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan sama ada ia adalah jenis angka dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn