Javascript电子邮件格式无法正确验证

时间:2016-04-14 00:49:26

标签: javascript appery.io

以下代码正确验证,但电子邮件地址字段除外。您对如何修改代码以使电子邮件地址字段验证有效有任何建议吗?我想确保输入和接受真实的电子邮件地址。

$('#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');
}
);
} 

0 个答案:

没有答案
相关问题