我试图在JS中验证一个数字。我有一个while循环,检查数字在一个范围内,它是一个数字。循环工作检查它是否在范围内但是没有工作检查该数字是否有效(即,不是NaN)。我尝试过使用int和float但都没有工作。
代码:
while (isNaN(midday) == 'true' || midday >= 50){
//validate that the number is w/n an expected range (0-50)
alert("You entered an out out range or incorrect number")
var midday = prompt("Enter number: " + pn);
midday = parseFloat(midday);
};
感谢您的帮助:对不起,如果这看起来很简单!
答案 0 :(得分:0)
isNaN
方法返回布尔值true / false。并且您将其与字符串值true
进行比较。字符串值true
不等于布尔值true
。你可以使用
if (isNaN(midday) == true || ...)
或更简单:
if (isNaN(midday) || ... )
答案 1 :(得分:0)
true是符号,而不是字符串。你有真实的'而不是真的。试试这个。
var midday = 'asdf';
if (isNaN(midday) ||
midday >= 50) {
alert('isNan == true or >= 50');
}
else {
alert('none is true');
}
答案 2 :(得分:0)
isNan返回一个布尔值。你不需要检查它是否属实。
var midday = prompt("Enter number: ");
if (isNaN(midday)){
alert("Not a number")
}
else { alert('Your number is ' + midday); }
您可以在此处查看:http://jsfiddle.net/ (我改变了一段时间,因为我不喜欢while循环,你当然可以改变你自己的目的:))