javascript - 验证此输入的最简单方法?

标签 javascript validation 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()">

关于javascript - 验证此输入的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41946034/

相关文章:

php - 如何将数据从 JavaScript 传输到 PHP?

javascript - 非常奇怪的 react native 图像问题

validation - @Valid 注释可以在 spring mvc 中递归地检查字段吗?

html - 输入类型 ="text"未调整大小

php - JavaScript;检查变量是 1 还是 0

javascript - 使用 JavaScript 设置背景颜色会破坏 CSS 悬停行为

javascript - 单击按钮时多次出现验证消息

html - checkValidity() 在表单的一部分?

jquery - 我可以引用输入:text as an #id?吗

c++ - 确定来自不同设备的输入