[英]Am I using the isNAN function in JavasScript correctly here?
我有一个表单,用户输入 3 个值,然后计算这些值。 输出再次显示在表单中的一些“只读”output 框中。 对于每个输入,我想验证它们是否是一个数字,如果不是,而不是显示“NaN”的表单,我想显示一个错误,说“请输入一个数字”(或类似的东西)。 下面是我正在使用的代码,执行“onkeyup”:
function checkforNumber()
{
if (isNaN(sInput || dInput || pInput) == true) {
alert("You entered an invalid character. Please reset the form.");
}
else {
return(false);
}
}
我是否错误地使用了这个 function? 语法有问题吗?
谢谢
if (isNaN(sInput) || isNaN(dInput) || isNaN(pInput)) {
alert("You entered an invalid character. Please reset the form.");
}
还要确保这 3 个变量sInput
、 dInput
和pInput
不是字符串,而是使用parseFloat
或parseInt
方法获得的。
var sInput = parseFloat(document.getElementById('sinput').value);
var dInput = parseFloat(document.getElementById('dinput').value);
var pInput = parseFloat(document.getElementById('pinput').value);
if (isNaN(sInput) || isNaN(dInput) || isNaN(pInput))
这就是我认为你的意图。 您需要一次将要测试的每个值传递给isNaN
function 。 另请注意,您不需要== true
部分,因为isNaN
返回true
或false
,因此条件将评估为返回值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.