我如何让我的 var 错误消息输出是使用字段还是字段,具体取决于留空的字段数

How do i have my var errorMessage output whether to use field or fields depending on how many fields are left blank

本文关键字:字段 取决于 我的 var 错误 输出 消息      更新时间:2023-09-26

尝试显示字段/字段,具体取决于 Jquery 表单验证中是否缺少 1 个或多个字段。这是我的代码:

function isEmail(email) {
    var regex = /^([a-zA-Z0-9_.+-])+'@(([a-zA-Z0-9-])+'.)+([a-zA-Z0-9]{2,4})+$/;
    return regex.test(email);
}
$("#submitButton").click(function() {
    var errorMessage = "";
    var fieldMissing = "";
    if ($("#email").val() == "") {
        fieldMissing += "<br>Email";
    }
    if ($("#phone").val() == "") {
        fieldMissing += "<br>Telephone";
    }
    if ($("#password").val() == "") {
        fieldMissing += "<br>Password";
    }
    if ($("#passwordConfirm").val() == "") {
        fieldMissing += "<br>Confirm Password";
    }
    if (fieldMissing != "") {
        errorMessage += "<p>The following field(s) are missing:</p>" + fieldMissing;
    }
    if (fieldMissing > 2)
    if (isEmail($("#email").val()) == false) {
        errorMessage += "<p>Your email address is not valid</p>";
    }
    if ($.isNumeric($("#phone").val()) == false) {
        errorMessage += "<p>Your phone number is not numeric</p>"
    }
    if ($("#password").val() != $("#passwordConfirm").val()) {
        errorMessage += "<p>Your passwords do not match</p>";
    }
    alert(errorMessage);
});

有人可以帮我吗?只是想弄清楚这一点。

您的if (fieldMissing > 2) {条件缺少右}括号。 这似乎也没有必要。 只需删除整个块。

使用计数器变量 (errorCount) 来计算错误数。

function isEmail(email) {  
    var regex = /^([a-zA-Z0-9_.+-])+'@(([a-zA-Z0-9-])+'.)+([a-zA-Z0-9]{2,4})+$/;
    return regex.test(email);
}
$("#submitButton").click(function() {
    var errorMessage = "";
    var fieldMissing = "";
    var errorCount = 0;
    if ($("#email").val() == "") {
        errorCount = errorCount  + 1;
        fieldMissing += "<br>Email";
    }
    if ($("#phone").val() == "") {
        errorCount = errorCount  + 1;
        fieldMissing += "<br>Telephone";
    }
    if ($("#password").val() == "") {
        errorCount = errorCount  + 1;
        fieldMissing += "<br>Password";
    }
    if ($("#passwordConfirm").val() == "") {
        errorCount = errorCount  + 1;
        fieldMissing += "<br>Confirm Password";
    }
    if (fieldMissing != "") {
        errorCount = errorCount  + 1;
        errorMessage += "<p>The following field(s) are missing:</p>" + fieldMissing;
    }
    if (errorCount > 2) {
        errorMessage += "Fields errors"
    } else if (errorCount == 1){
        errorMessage += "Field error"
    }

    if (isEmail($("#email").val()) == false) {
        errorMessage += "<p>Your email address is not valid</p>";
    }
    if ($.isNumeric($("#phone").val()) == false) {
        errorMessage += "<p>Your phone number is not numeric</p>"
    }
    if ($("#password").val() != $("#passwordConfirm").val()) {    
        errorMessage += "<p>Your passwords do not match</p>";
    }
    alert(errorMessage);
});