JS判断input框输入或者从后台查询的值是否为数字:
1、isNaN函数方式
NaN的意思:not a number
function isRealNum(val){
// isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除
if(val === "" || val ==null){
return false;
}
if(!isNaN(val)){
return true;
}else{
return false;
}
}
2、正则表达式方式
网上流传的正则表达式的做法都有问题。
3、parseFloat方法
网上流传的这种做法也是有问题的,不信可以用字符串'22g2'验证。
function isNotANumber(inputData) {
//isNaN(inputData)不能判断空串或一个空格
//如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。
if (parseFloat(inputData).toString() == “NaN”) {
//alert(“请输入数字……”);
return false;
} else {
return true;
}
}
4、
if(!isNaN(Number(input)){
console.log('是数字')
}
有缺陷,空字符串、空值、null验证
if(!isNaN(parseInt(input)){
console.log('是数字')
}
有缺陷,可用’2a‘验证