JavaScript判斷是否為數(shù)字的多種方法小結(jié)
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)文章希望大家以后多多支持腳本之家!
- JavaScript判斷是否為數(shù)字的幾種方式匯總(推薦!)
- JavaScript 中判斷變量是否為數(shù)字的示例代碼
- JavaScript判斷輸入是否為數(shù)字類型的方法總結(jié)
- js判斷文本框輸入的內(nèi)容是否為數(shù)字
- JavaScript判斷是否為數(shù)字的4種方法及效率比較
- javascript使用isNaN()函數(shù)判斷變量是否為數(shù)字
- js判斷輸入是否為數(shù)字的具體實例
- js驗證是否為數(shù)字的總結(jié)
- JS判斷是否為數(shù)字,是否為整數(shù),是否為浮點數(shù)的代碼
- javaScript 判斷字符串是否為數(shù)字的簡單方法
相關(guān)文章
js基礎(chǔ)之DOM中document對象的常用屬性方法詳解
下面小編就為大家?guī)硪黄猨s基礎(chǔ)之DOM中document對象的常用屬性方法詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10深入講解xhr(XMLHttpRequest)/jsonp請求之a(chǎn)bort
這篇文章主要給大家深入的介紹了關(guān)于xhr(XMLHttpRequest)/jsonp請求之a(chǎn)bort的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-07-07javascript瀏覽器窗口之間傳遞數(shù)據(jù)的方法
這篇文章主要介紹了javascript瀏覽器窗口之間傳遞數(shù)據(jù)的方法,實例分析了父窗口與子窗口之間傳遞參數(shù)的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-01-01在頁面中js獲取光標(biāo)/鼠標(biāo)的坐標(biāo)及光標(biāo)的像素坐標(biāo)
頁面JS光標(biāo)/鼠標(biāo)坐標(biāo),百度統(tǒng)計中有個熱點統(tǒng)計圖,我們要做的就是獲取光標(biāo)的像素坐標(biāo)2013-11-11javascript正則表達(dá)式使用replace()替換手機(jī)號的方法
這篇文章主要介紹了javascript正則表達(dá)式使用replace()替換手機(jī)號的方法,可實現(xiàn)把手機(jī)號第4位到第7位替換成****的功能,是非常實用的技巧,需要的朋友可以參考下2015-01-01