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