<p>1.使用isNaN()函数</p><p>isNaN()的缺点就在于 null、空格以及空串会被按照0来处理</p><p>NaN: Not a Number</p><p>/**</p><p>*判断是否是数字</p><p>*</p><p>**/</p><p>function isRealNum(val){</p><p> // isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除</p><p> // if(val === "" || val ==null){</p><p> // return false;</p><p> //}</p><p> // 按照评论区同志们的意见 修改 先判定是否为number</p><p> if(typeof val !== 'number'){</p><p> return false;</p><p> }</p><p> if(!isNaN(val)){</p><p> return true;</p><p> }else{</p><p> return false;</p><p> }</p><p>}</p><p>2.使用正则表达式 </p><p>/**</p><p>* 校验只要是数字(包含正负整数,0以及正负浮点数)就返回true</p><p>**/</p><p>function isNumber(val){</p><p> var regPos = /^\d+(\.\d+)?$/; //非负浮点数</p><p> var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数</p><p> if(regPos.test(val) || regNeg.test(val)){</p><p> return true;</p><p> }else{</p><p> return false;</p><p> }</p><p>}</p><p></p><p>/**</p><p>* 校验正负正数就返回true</p><p>**/</p><p>function isIntNum(val){</p><p> var regPos = / ^\d+$/; // 非负整数</p><p> var regNeg = /^\-[1-9][0-9]*$/; // 负整数</p><p> if(regPos.test(val) || regNeg.test(val)){</p><p> return true;</p><p> }else{</p><p> return false;</p><p> }</p><p>}</p>