方法一:isNaN
isNaN()的缺点就在于 null、空格以及空串、’[123]'会被按照0来处理
NaN: Not a Number
function isRealNum(val){
// 先判定是否为number
if(typeof val !== 'number'){
return false;
}
if(!isNaN(val)){
return true;
}else{
return false;
}
}
方法二:正则
校验只要是数字(包含正负整数,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;
}
}
方法三:
校验正负正数就返回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;
}
}