对于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()">

10-07 12:47
查看更多