用JAVASCRIPT判断输入的是否为数字

var x=parseInt(prompt("请输入数字","")); //要求输入数字,并强制转换为整型
document.write(x); //输出x
如果我想判断用户输入的是不是数字,能不能这么写:
if(x==NaN) {
document.write("输入错误");
}else {
document.write("输入正确");
}
但是运行不了,求解释,求解决

根据规则,NaN与任何东西比较,返回都是false。你需要调用isNaN函数

if(isNaN(x)) {
document.write("输入错误");
}else {
document.write("输入正确");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-05
parseInt 不是很靠谱啊:parseInt("123.你好啊!") 结果是:123。

我给你改写一下:
var x = Number(prompt("请输入数字","") || NaN);
(x || x == 0) ? alert('ok\n parseInt(' + x + ') =' + parseInt(x) ) : alert('false');
第2个回答  2012-10-05
NaN这个东西跟什么比较都是false
相似回答