Javascript表单验证检查

时间:2014-04-23 07:47:56

标签: javascript forms validation

我正在做一些关于表单验证的功课,并编写了一些代码,但它对某些问题无效。有人能告诉我他们有什么不对并修复它们吗?感谢

function formCheck() {
    var form = document.forms["contact_form"];
    if(form["first_name"]["last_name"].value == "") {
        alert("Please fill in the required name.");
        form["first_name"]["last_name"].focus();
        return false;
    }

    var zip = /^\d{5}(-\d{4})?$/.test;
    if(zip.test(form["zip_code"]).value == false){
        alert("Please fill in a valid zipcode.");
        form["zip_code"].focus();
        return false;
    }

    var phone = /^\[0-9]{10}$|^\([0-9]{3}\)[ ]?[0-9]{3}-[0-9]{4}$/
    if(phone.test(form["phone_number"]).value == false){
        alert("Phone number input format is not valid.");
        form["phone_number"].focus();
        return false;
    }

    var email = /^([a-zA-Z0-9_.])+@[a-zA-Z0-9]([a-zA-Z0-9])+\.([a-z])+$/
    if(email.test(form["email_address"].value == false){
        alert("Email format is not valid.");
        return false;
    }
    form.submit();
    return true;
}

1 个答案:

答案 0 :(得分:0)

这似乎不正确:

if(form["first_name"]["last_name"].value == "") {
    alert("Please fill in the required name.");
    form["first_name"]["last_name"].focus();
    return false;
}

您可能希望将其替换为:

if(form["first_name"].value == "") {
    alert("Please fill in the required first name.");
    form["first_name"].focus();
    return false;
}
if(form["last_name"].value == "") {
    alert("Please fill in the required last name.");
    form["last_name"].focus();
    return false;
}