js判斷是否是數字
第一種方法 isNaN
isNaN 返回一個 Boolean 值,指明提供的值是否是保留值 NaN (不是數字)。
NaN 即 Not a Number
isNaN(numValue)
但是如果numValue果是一個空串或是一個空格,而isNaN是做為數字0進行處理的,而parseInt與parseFloat是返回一個錯誤消息,這個isNaN檢查不嚴密而導致的。
第二種方法 正則表達式
function checkRate(input) {
var re = /^[0-9]+.?[0-9]*$/; //判斷字符串是否為數字 //判斷正整數 /^[1-9]+[0-9]*]*$/
var nubmer = document.getElementById(input).value;
if (!re.test(nubmer)) {
alert("請輸入數字");
document.getElementById(input).value = "";
return false;
}
}
第三種方法 利用parseFloat的返回值
/*----0313-------------驗證數據 是數字:返回true;不是數字:返回false--------工具方法,不含有業務邏輯---------------------*/
function isNotANumber(inputData) {
//isNaN(inputData)不能判斷空串或一個空格
//如果是一個空串或是一個空格,而isNaN是做為數字0進行處理的,而parseInt與parseFloat是返回一個錯誤消息,這個isNaN檢查不嚴密而導致的。
if (parseFloat(inputData).toString() == "NaN") {
//alert("請輸入數字……");注掉,放到調用時,由調用者彈出提示。
return false;
} else {
return true;
}
}
/*--End--0313-------------驗證數據 是數字:返回true;不是數字:返回false---------------------------------*/
請大家評點、指教!