繁体   English   中英

验证此输入的最简单方法是什么?

[英]Easiest way to validate this input?

对尝试验证某些文本字段输入的 JavaScript 仍然相当陌生,我一直在尝试逐步完成,但发生了很多事情,我一直在自相矛盾。 我已经在下面解释了所需的验证。

var a = document.getElementById("val1").value;
var b = document.getElementById("val2").value;

val1 和 val2 指的是两个文本输入字段,a 和 b 都必须是正整数,但只需要填写一个输入字段,在这种情况下,另一个变量应该被赋值为 0,那么变量 a 应该是较小的两个值和 b 较大的值,以便我运行以下循环。

for (var i = a; i < (Number(b) + Number(1)); i++) {
    tableRow = resultsRows.appendChild(document.createElement("tr"));
    if(i%2==0) {
        tableRow.setAttribute("class", "even");
    }
    else {
        tableRow.setAttribute("class", "odd");
    }
    var tableData = tableRow.appendChild(document.createElement("td"));
    tableData.appendChild(document.createTextNode(i));
    tableData = tableRow.appendChild(document.createElement("td"));
    tableData.appendChild(document.createTextNode(converter(i)));
}

我试图编写的函数来验证这一点。 不知道如何用这个接受空白输入......

function validateInput(x) {
    if (isNaN(x) || x < 0) {
        alert("Input incorrect; fields must be blank or contain positive integers");
        return false;
    }
    else { return true
    }
}

请尝试附加的代码片段。 它旨在包含以下假设:

  • 只有一个号码必须输入(即两个字段不能在同一时间留空,也可以同时包含的值一起),它必须为正
  • 没有非数字输入

 function customValidation(){ var a = document.getElementById("val1").value; var b = document.getElementById("val2").value; if((a == "" && b == "") || (a > "" && !isNumber(a)) || (b > "" && !isNumber(b)) || (a < 0 || b < 0) || (a == 0 && b == 0) || (a > 0 && b > 0)){ alert("Input incorrect; " + "only one of the fields must contain a value " + "and that should be a positive number"); return false; } if(a > 0){ n = a; } else{ n = b; } for(i=0; i < (Number(n) + Number(1)); i++){ alert("Executing: "+i); // // } } //----------------------------------------------------- function isNumber(n) { return !isNaN(parseFloat(n)) && isFinite(n); } //-----------------------------------------------------
 Val1: <input id="val1" type="text"><br> Val2: <input id="val2" type="text"><br> <input type="button" value="Test" onClick="customValidation()">

暂无
暂无

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

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