以下代码正确验证,但电子邮件地址字段除外。您对如何修改代码以使电子邮件地址字段验证有效有任何建议吗?我想确保输入和接受真实的电子邮件地址。
$('#topError').empty();
$('#fnameError').empty();
$('#lnameError').empty();
$('#genderError').empty();
$('#bdayError').empty();
$('#emailError').empty();
$('#pass1Error').empty();
$('#pass2Error').empty();
$('#passcError').empty();
var fname = Apperyio('register_firstname').val();
var lname = Apperyio('register_lastname').val();
var gender = Apperyio('register_gender').val();
var bmonth = Apperyio('register_birthdaymonth').val();
var bday = Apperyio('register_birthdayday').val();
var byear = Apperyio('register_birthdayyear').val();
var email = Apperyio('register_email').val();
var pass1 = Apperyio('register_password1').val();
var pass2 = Apperyio('register_password2').val();
var re = /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/igm;
var errorMsg = "";
if ($.trim(fname) === "")
{
errorMsg = errorMsg + "1";
document.getElementById("fnameError").innerHTML = "Please enter your first name.";
}
if ($.trim(lname) === "")
{
errorMsg = errorMsg + "1";
document.getElementById("lnameError").innerHTML = "Please enter your last name.";
}
if ($.trim(gender) === "")
{
errorMsg = errorMsg + "1";
document.getElementById("genderError").innerHTML = "Please select your gender.";
}
if ($.trim(bmonth) === "")
{
errorMsg = errorMsg + "1";
document.getElementById("bdayError").innerHTML = "Please enter your birthday.";
}
if ($.trim(bday) === "")
{
errorMsg = errorMsg + "1";
document.getElementById("bdayError").innerHTML = "Please enter your birthday.";
}
if ($.trim(byear) === "")
{
errorMsg = errorMsg + "1";
document.getElementById("bdayError").innerHTML = "Please enter your birthday.";
}
if ($.trim(email) === "")
{
errorMsg = errorMsg + "1";
document.getElementById("emailError").innerHTML = "Please enter your email address.";
}
if (email.val() === "" || !re.test(email.val()))
{
errorMsg = errorMsg + "1";
document.getElementById("emailError").innerHTML = "Please enter a vaild email address.";
}
if ($.trim(pass1.length) < 6)
{
errorMsg = errorMsg + "1";
document.getElementById("pass1Error").innerHTML = "Please enter a password of at least 6 characters.";
}
if ($.trim(pass2) === "")
{
errorMsg = errorMsg + "1";
document.getElementById("passcError").innerHTML = "Please confirm your password.";
}
if ($.trim(pass1) !== $.trim(pass2))
{
errorMsg = errorMsg + "1";
document.getElementById("emailError").innerHTML = "The passwords you entered do not match.";
}
if (errorMsg === "")
{
//signupService.execute({});
Apperyio.User.createUser({
"username": Apperyio('register_email').val(),
"password": Apperyio('register_password1').val(),
"email": Apperyio('register_email').val(),
"firstName": Apperyio('register_firstname').val(),
"lastName": Apperyio('register_lastname').val(),
"gender": Apperyio('register_gender').val(),
"birthday": (Apperyio('register_birthdayyear').val() + Apperyio('register_birthdaymonth').val() + Apperyio('register_birthdayday').val())
})
.then(function(result){
Apperyio.navigateTo('Position1');
}
);
}
更新:我能够解决问题。谢谢你的帮助。
Here is the updated code:
$('#topError').empty();
$('#fnameError').empty();
$('#lnameError').empty();
$('#genderError').empty();
$('#bdayError').empty();
$('#emailError').empty();
$('#pass1Error').empty();
$('#pass2Error').empty();
$('#passcError').empty();
var fname = Apperyio('register_firstname').val();
var lname = Apperyio('register_lastname').val();
var gender = Apperyio('register_gender').val();
var bmonth = Apperyio('register_birthdaymonth').val();
var bday = Apperyio('register_birthdayday').val();
var byear = Apperyio('register_birthdayyear').val();
var email = Apperyio('register_email').val();
var pass1 = Apperyio('register_password1').val();
var pass2 = Apperyio('register_password2').val();
var dateString = (bmonth + "/" + bday + "/" + byear);
var errorMsg = "";
if ($.trim(fname) === "")
{
errorMsg = errorMsg + "1";
document.getElementById("fnameError").innerHTML = "Please enter your first name.";
}
if ($.trim(lname) === "")
{
errorMsg = errorMsg + "1";
document.getElementById("lnameError").innerHTML = "Please enter your last name.";
}
if ($.trim(gender) === "")
{
errorMsg = errorMsg + "1";
document.getElementById("genderError").innerHTML = "Please select your gender.";
}
var date_regex = /^(?:(0[1-9]|1[012])[\/.](0[1-9]|[12][0-9]|3[01])[\/.](18|19|20)[0-9]{2})$/;
if (!(date_regex.test(dateString)))
{
errorMsg = errorMsg + "1";
document.getElementById("bdayError").innerHTML = "Please enter your birthday.";
}
function validateEmail(email) {
var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
if (filter.test(email)) {
return true;
}
else {
return false;
}
}
if ($.trim(email).length === 0) {
errorMsg = errorMsg + "1";
document.getElementById("emailError").innerHTML = "Please enter a valid email address.";
// e.preventDefault();
}
if (validateEmail(email)) {
//alert('Email is valid');
}
else {
errorMsg = errorMsg + "1";
document.getElementById("emailError").innerHTML = "Please enter a valid email address.";
// e.preventDefault();
}
if ($.trim(pass1.length) < 6)
{
errorMsg = errorMsg + "1";
document.getElementById("pass1Error").innerHTML = "Please enter a password of at least 6 characters.";
}
if ($.trim(pass2) === "" & $.trim(pass1) !== "")
{
errorMsg = errorMsg + "1";
document.getElementById("passcError").innerHTML = "Please confirm your password.";
}
if ($.trim(pass1) !== $.trim(pass2))
{
errorMsg = errorMsg + "1";
document.getElementById("emailError").innerHTML = "The passwords you entered do not match.";
}
if (errorMsg === "")
{
//signupService.execute({});
Apperyio.User.createUser({
"username": Apperyio('register_email').val(),
"password": Apperyio('register_password1').val(),
"email": Apperyio('register_email').val(),
"firstName": Apperyio('register_firstname').val(),
"lastName": Apperyio('register_lastname').val(),
"gender": Apperyio('register_gender').val(),
"birthday": (Apperyio('register_birthdayyear').val() + Apperyio('register_birthdaymonth').val() + Apperyio('register_birthdayday').val())
})
.then(function(result){
Apperyio.navigateTo('Position1');
}
);
}