中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在javascript怎么判斷一個數據是否為數字

發布時間:2021-04-07 15:29:44 來源:億速云 閱讀:345 作者:Leah 欄目:web開發

怎么在javascript怎么判斷一個數據是否為數字?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

javascript判斷是否數字的方法:1、使用isNaN()函數,語法格式“isNaN(value)”,可以檢查其參數value是否為非數字值;2、使用test()函數配合正則表達式來判斷;3、利用parseFloat()函數來判斷。

1.使用isNaN()函數

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

NaN: Not a Number

/**
*判斷是否是數字
*
**/

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

isNaN()函數來判斷一個值是數字的最正確的方法就是:

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

isNaN()詳解

對于空數組和只有一個數值成員的數組,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;
    }

}

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

常用正則:

"^\\d+$"             //非負整數(正整數 + 0) 
"^[0-9]*[1-9][0-9]*$"     //正整數 
"^((-\\d+)|(0+))$"       //非正整數(負整數 + 0) 
"^-[0-9]*[1-9][0-9]*$"    //負整數 
"^-?\\d+$"            //整數 
"^\\d+("            //非負浮點數(正浮點數 + 0) 
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"    //正浮點數 
"^((-\\d+("           //非正浮點數(負浮點數 + 0) 
"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"    //負浮點數 
"^(-?\\d+)("         //浮點數

3.使用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怎么判斷一個數據是否為數字的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

文水县| 额尔古纳市| 紫云| 营山县| 东山县| 上栗县| 长宁区| 津南区| 乳山市| 呼图壁县| 兴仁县| 泰州市| 南乐县| 迁安市| 顺义区| 三门县| 阳城县| 绩溪县| 集贤县| 临安市| 江陵县| 抚州市| 齐河县| 平远县| 宜章县| 雅江县| 益阳市| 额尔古纳市| 顺义区| 团风县| 临西县| 静宁县| 株洲市| 迁西县| 商城县| 成安县| 仙居县| 营山县| 尼玛县| 古交市| 东海县|