JavaScript编号验证

时间:2015-02-21 13:21:26

标签: javascript validation int

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

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

3 个答案:

答案 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循环,你当然可以改变你自己的目的:))