isNaN 用来判断是否是数字,如果为非数字返回true 否则返回false,使用起来确实 很方便,但是IsNaN 在判断 null ,空字符串或空格时就会失效!
<script type="text/javascript">
document.write(isNaN(123)+ "<br />") false
document.write(isNaN(-1.23)+ "<br />") false
document.write(isNaN(5-2)+ "<br />") false
document.write(isNaN(0)+ "<br />") false
document.write(isNaN("Hello")+ "<br />") true
document.write(isNaN("2005/12/12")+ "<br />") true
document.write(isNaN(undefined)+"<br/>"); true
document.write(isNaN(" ")+"<br/>"); //false 判断失效
document.write(isNaN(null)+"<br/>"); //false 判断失效
document.write(isNaN("")+"<br/>");//false 判断失效
</script>
所以正常的判断流程应该是
var val = '123';
if(val && !isNaN(val) && val.trim())
{
}