繁体   English   中英

我在这里正确使用 JavaScript 中的 isNAN function 吗?

[英]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 个变量sInputdInputpInput不是字符串,而是使用parseFloatparseInt方法获得的。

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返回truefalse ,因此条件将评估为返回值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM