Rumah >hujung hadapan web >tutorial js >Bagaimana untuk menentukan sama ada nilai yang ditentukan ialah nombor dalam javascript

Bagaimana untuk menentukan sama ada nilai yang ditentukan ialah nombor dalam javascript

青灯夜游
青灯夜游asal
2021-10-13 15:54:368341semak imbas

Kaedah penghakiman: 1. Gunakan fungsi isNaN(), sintaks "isNaN(value)", jika nilai ialah nombor, kembalikan false 2. Gunakan nilai pulangan typeof, sintaks "typeof (nilai)", jika Jika nilai yang dikembalikan ialah "Nombor", ia adalah nombor; 3. Gunakan ungkapan biasa untuk menilai.

Bagaimana untuk menentukan sama ada nilai yang ditentukan ialah nombor dalam javascript

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

javascript menentukan sama ada nilai yang ditentukan ialah nombor

Kaedah 1: isNaN() fungsi

Fungsi isNaN() menentukan sama ada nilai adalah Bukan-Nombor. Fungsi ini kembali benar jika nilainya sama dengan NaN. Jika tidak, pulangkan palsu.

var c="hello"; //字符串
isNaN(c); //返回一个true;
var c=10; //数字
isNaN(c);//返回一个false

Kelemahan isNaN() ialah null, ruang dan rentetan kosong akan dianggap sebagai 0, yang perlu dioptimumkan

/**
*判断是否是数字
*
**/

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; 
  } 
}

Kaedah 2: Gunakan typeof Nilai pulangan

Kaedah pengesahan: Jika nilai yang dikembalikan ialah Nombor, ia adalah nombor jika nilai pulangan ialah String atau lain-lain, ia bukan nombor. Seperti yang ditunjukkan di bawah:

var a=123;
var b='123abc';
typeof(a) //Number
typeof(b) //String

Kaedah 3: Gunakan ungkapan biasa

(1), semak asalkan ia adalah nombor (termasuk integer positif dan negatif, 0 dan nombor titik terapung Negatif positif) mengembalikan 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), Mengesahkan nombor positif dan negatif dan mengembalikan 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;
    } 
}

[Pembelajaran yang disyorkan: Tutorial Lanjutan JavaScript

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada nilai yang ditentukan ialah nombor 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