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 循环,当然你可以根据自己的目的改变 :) )
我试图在 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 循环,当然你可以根据自己的目的改变 :) )