欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jQuery验证 博客分类: 日常累计 jQuery 

程序员文章站 2024-03-21 20:51:46
...
var isError = false;
var memberDetail = $("#memberDetail");
var updateForm = $("form[name='updateForm']");

var name_sei = memberDetail.findInputByName("name_sei");
var name_mei = memberDetail.findInputByName("name_mei");
var name_sei_kana = memberDetail.findInputByName("name_sei_kana");
var name_mei_kana = memberDetail.findInputByName("name_mei_kana");
var sex = memberDetail.findInputByName("sex");
var mobileno = memberDetail.findInputByName("mobileno");
var mail_address = memberDetail.findInputByName("mail_address");
var birthday = memberDetail.findInputByName("birthday");

isError = isError || !name_sei.verifyName(isError);
isError = isError || !name_mei.verifyName(isError);
isError = isError || !name_sei_kana.verifyNameKana(isError);
isError = isError || !name_mei_kana.verifyNameKana(isError);
isError = isError || !mobileno.verifyTel(isError);
isError = isError || !mail_address.verifyEmail(isError);
isError = isError || !birthday.verifyBirthday(isError);

if (!isError) {
     updateForm.submit();
}

$.fn.extend({
    findInputByName:function (name) {
        return $(this).find("input[name='" + name + "']");
    },
    findInputByLikeName:function(name) {
        return $(this).find("input[name*='" + name + "']");
    },
    verifyName:function (isError) {
        if (!isError) {
            var value = $(this).val();
            if ($.trim(value) == "") {
                alert("名前は必須入力項目です。");
                $(this).focus();
                return false;
            } else {
                return true;
            }
        } else {
            return false;
        }
    },
    verifyNameKana:function (isError) {
        if (!isError) {
            var value = $(this).val();
            if ($.trim(value) == "") {
                alert("ふりがなは必須入力項目です。");
                $(this).focus();
                return false;
            } else {
                return true;
            }
        } else {
            return false;
        }
    },
    verifyTel:function (isError) {
        if (!isError) {
            var value = $.trim($(this).val());
            var patrn = /^[0-9]{2,5}-[0-9]{3,4}-[0-9]{3,4}$/;
            if (value != "") {
                if (patrn.test(value)) {
                    return true;
                } else {
                    alert("携帯*が間違っています。");
                    $(this).focus();
                    return false;
                }
            } else {
                alert("携帯*は必須入力項目です。");
                $(this).focus();
                return false;
            }
        } else {
            return false;
        }
    },
    verifyEmail:function (isError) {
        if (!isError) {
            var value = $(this).val();
            var patrn = /^[a-z0-9_\+-]+(\.[a-z0-9_\+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,4})$/;
            if (value != "") {
                if (patrn.test(value)) {
                    return true;
                } else {
                    alert("E-mailが間違っています。");
                    $(this).focus();
                    return false;
                }
            } else {
                alert("E-mailは必須入力項目です。");
                $(this).focus();
                return false;
            }
        } else {
            return false;
        }
    },
    verifyBirthday:function (isError) {
        if (!isError) {
            var value = $(this).val();
            var patrn = /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
            if (value != "") {
                if (patrn.test(value)) {
                    return true;
                } else {
                    alert("誕生日が間違っています。");
                    $(this).focus();
                    return false;
                }
            } else {
                alert("誕生日は必須入力項目です。");
                $(this).focus();
                return false;
            }
        } else {
            return false;
        }
    }
});
相关标签: jQuery