JavaScript 号码验证

JavaScript number validation

我试图在 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);
    };

感谢您的帮助:抱歉,如果这看起来很简单!

isNaN 方法 returns 布尔值 true/false。您正在将它与字符串值 true 进行比较。字符串值 true 不等于布尔值 true。您可以使用

if (isNaN(midday) == true || ...)

或更简单:

if (isNaN(midday) || ... )

true 是符号,不是字符串。你有 'true' 而不是 true。试试这个。

var midday = 'asdf';
if (isNaN(midday) || 
midday >= 50) {
alert('isNan == true or >= 50');
}
else {
alert('none is true');
}

isNan return 布尔值。你不需要检查它是否是真的。

var midday = prompt("Enter number: ");
if (isNaN(midday)){
        alert("Not a number")
}
else { alert('Your number is ' + midday); }

您可以在这里查看:http://jsfiddle.net/ (我改了 while for an if 因为我不喜欢 while 循环,当然你可以根据自己的目的改变 :) )