我如何使我的checkLength();检查两个“fuldenavn"”的长度和“;email".

How can I make my checkLength(); check the length for both "fuldenavn" and "email" ?

本文关键字:quot email 两个 我的 何使 checkLength 检查 fuldenavn      更新时间:2023-09-26

所以我一直在搞乱一些javascript验证它几乎可以工作,除了我似乎无法得到checklength函数来检查电子邮件长度和fuldenavn的长度,它检查fuldenavn或电子邮件取决于我在result2中首先提到的,我试过交换它们和各种各样的东西似乎都不起作用。基本上,我希望这个函数检查两个长度并返回错误消息,我很抱歉其中一些不是英文的。

下面是目前为止的代码:
window.onload = function() {
var reg_name = /^[A-Za-zÆØÅæøå]{2,20}$/;                            
var reg_numbers = /^[0-9 ]+$/;                                      
var reg_email = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+'.[A-Za-z]{2,4}$/;
var form1 = document.getElementById('form1');
var fuldenavn = document.getElementById('fuldenavn');
var email = document.getElementById('email');
var submit = document.getElementById('btn');
var errorMsg = document.getElementById('errormessage');
var error;
  form1.onsubmit = function(){
  error=""; 
  var result1 = nameValidate(fuldenavn, "Undlad venligst at benytte ugyldige tegn ved indtastning af dit fulde navn.");
  var result2 = checkLength(email, fuldenavn, "fornavn felter skal indeholder mindst 2 karakterer."); 
  var result3 = emailValidate(email, "Undlad venligst at benytte ugyldige tegn ved indtastning af email.");
    errorMsg.innerHTML = error;         
    errorMsg.style.color = "red";   
    if(result1 && result2 && result3) { 
     alert("Du er blevet tilmeldt vores nyhedsbrev.");
     return true;
     } else {
     alert("Tjek fejl meddelelsen og prøv venligst igen.");
     return false;                  
    }
};
var checkLength = function (element) {
    if(element.value.length < 2){
    msg = "- Begge felter skal indeholde mindst 2 karakterer.";
    error = error + msg + "<br>";
    } else {
    return true;
    }
};

    var emailValidate = function(element) {
    if(!element.value.match(/^'w+(['.-]?'w+)*@'w+(['.-]?'w+)*('.'w{2,3})+$/)){
    //  alert("emailValidate works");
    msg = "- Undlad venligst at benytte ugyldige tegn ved indtastning af email.";
    error = error + msg + "<br>";
    } else {
    //  alert("emailValidate fails");
    return true;
    }
}
    var nameValidate = function(element) {
    if(!element.value.match(/^[A-Za-zÆØÅæøå ]{1,20}$/)){
    //  alert("nameValidate works");
    msg = "- Undlad venligst at benytte ugyldige tegn ved indtastning af dit fulde navn.";
    error = error + msg + "<br>";
    } else {
    //  alert("nameValidate fails");
    return true;
    }
}
};
    var checkLength = function () {
     var email = arguments[0];
     var fuldenavn = arguments[1];
     if (email.value.length < 2 || fuldenavn.value.length < 2 ) {
        msg = "- Begge felter skal indeholde mindst 2 karakterer.";
        error += msg + "<br>";
        return false;
     } 
    };
  form1.onsubmit = function(){
  .......
  var checkArgs = [email,fuldenavn];
  checkLength .apply(null, checkArgs );  
  ..........
  };

查看参数,apply()