我如何制作checkLength();检查" fuldenavn"的长度。和"电子邮件" ?

时间:2014-05-12 11:15:22

标签: javascript validation

所以我一直在搞乱一些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;
    }
}

};

1 个答案:

答案 0 :(得分:0)

    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 );  

  ..........
  };

查看argumentsapply()