欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript判斷是否為數(shù)字的多種方法小結(jié)

 更新時間:2024年01月02日 09:28:16   作者:Mcband  
這篇文章主要介紹了JavaScript判斷是否為數(shù)字的多種方法小結(jié),本文給大家分享三種方法,結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

JavaScript判斷是否為數(shù)字

方法1:使用isNaN()函數(shù)

isNaN()函數(shù)是js自帶的全局函數(shù),isNaN() 函數(shù)用于檢查其參數(shù)是否是非數(shù)字值。

如果 值x 是特殊的非數(shù)字值 NaN(或者能被轉(zhuǎn)換為這樣的值),返回的值就是 true;如果 值x 是其他值,則返回 false。

isNaN()的缺點就在于 null、空格以及空串會被按照0來處理

NaN: Not a Number

document.write(isNaN(123));  //數(shù)字      ----false
document.write(isNaN(-1.23));  //數(shù)字    ----false
document.write(isNaN(5-2));  //數(shù)字      ----false
document.write(isNaN(0));  //數(shù)字        ----false
document.write(isNaN("Hello"));  //字符串 ----true
document.write(isNaN("2005/12/12"));  //字符串----true

缺點:isNaN()會將 null、空格以及空串按照0來處理,所以檢查不嚴(yán)謹(jǐn)。

所以用加工一下,和typeof運(yùn)算符一起使用。

示例:

// true:數(shù)值型的,false:非數(shù)值型
function myIsNaN(value) {
   return (typeof value === 'number' && !isNaN(value));
}
myIsNaN(10);      ----true
myIsNaN(null);    ----false
myIsNaN( );      ----false
myIsNaN();       ----false

注意:如果是 ‘36.3’,typeof value === ‘number’,會返回false,如果想字符串類型的數(shù)字也返回true,可以用下面的方法3

方法2:使用正則表達(dá)式

(1)、校驗只要是數(shù)字(包含正負(fù)整數(shù),0以及正負(fù)浮點數(shù))就返回true

/**
* 校驗只要是數(shù)字(包含正負(fù)整數(shù),0以及正負(fù)浮點數(shù))就返回true
**/
function isNumber(val){
    var regPos = /^[0-9]+.?[0-9]*/; //判斷是否是數(shù)字。
    if(regPos.test(val) ){
        return true;
    }else{
        return false;
    }
}

還可以根據(jù)不同的需求改變正則表達(dá)式,來得到自己想要的結(jié)果

方法3:利用parseFloat()的返回值

parseFloat() 函數(shù)可解析一個字符串,并返回一個浮點數(shù)。

該函數(shù)指定字符串中的首個字符是否是數(shù)字。如果是,則對字符串進(jìn)行解析,直到到達(dá)數(shù)字的末端為止,然后以數(shù)字返回該數(shù)字,而不是作為字符串。

用法:將參數(shù)中指定的字符串解析成為一個浮點數(shù)字并返回。

/**
* 驗證數(shù)據(jù) 是數(shù)字:返回true;不是數(shù)字:返回false
**/
function Number(val) {
  if (parseFloat(val).toString() == "NaN") {
    return false;
  } else {
    return true;
  }
}
isNaN(val)不能判斷空串或一個空格
如果是一個空串、空格或null,而isNaN是做為數(shù)字0進(jìn)行處理的,
而parseInt與parseFloat是返回一個錯誤消息,這個isNaN檢查不嚴(yán)密而導(dǎo)致的。

到此這篇關(guān)于JavaScript判斷是否為數(shù)字的多種方法小結(jié)的文章就介紹到這了,更多相關(guān)js判斷是否為數(shù)字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論