表单验证

/**
 * 检查输入框是否为必填项
 * 输入参数:
 * required    : 是否为必填项,true 和 false ,true 表示为必填项 (*)
 * onFocus    : 获得焦点的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)
 * onBlur    : 失去焦点的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)(验证失败提示)
 * onSucces    : 验证成功的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)
 * tipId    : 用于显示提示信息的控件id (*)
 * 组合例子    : {required:true,onFocus:"Required",onBlur:"@error",dataType:"phone",errorTip:"errorTip"}
 */
var regulars={
    iPhone:/(^0?[1][358][0-9]{9}$)|^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/,
    idCard:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
    business:/^[a-zA-Z_0-9]{1,30}$/
};


$.fn.extend({
    checkRequired: function (inputArg) {
        if (inputArg.required) {
            if ($(this).is("input")) {
                //绑定获得焦点事件
                $(this).bind("focus", function () {
                    if (inputArg.onFocus != undefined) {
                        $(this).removeClass("inpError");
                        $(this).addClass("inpFocus");
                    }
                });
                //绑定失去焦点事件
                $(this).bind("blur", function () {
                    $(this).removeClass("inpFocus");
                    $(this).siblings(".labOk").remove();
                    var flag = false;
                    if ($(this).val() == undefined || $.trim($(this).val()).length == 0) {
                        flag = true;
                    }
                    if (flag) {
                        $(this).addClass("inpError").siblings(".errorTxt").show().html(inputArg.onBlur);//内容为空显示内容
                    } else {
                        if (inputArg.regularTarget != undefined && inputArg.regularTarget != "") {
                            var regInp = !!($(this).val()).match(regulars[inputArg.regularTarget]);
                        } else {
                            regInp = $.trim($(this).val());
                        }

                        if (regInp == false) {
                            $(this).addClass("inpError").siblings(".errorTxt").show().html(inputArg.errorTip);//校验错误
                            $(this).siblings(".labOk").remove();
                        } else {
                            if ($(this).next(".labOk").length == 0) {
                                $(this).after('<label class="labOk"></label>');
                                $(this).removeClass("inpError").siblings(".errorTxt").hide();
                            }
                        }
                    }
                });
            }
        }
    }


})
    $("#labApplyer input").checkRequired({
        required: true,
        onFocus: "Required",
        onBlur: "请填写经办人信息",
        errorTip: "请填写经办人信息"
    });

    $("#labIdentyNumber input").checkRequired({
        required: true,
        onFocus: "Required",
        onBlur: "请填写经办人身份证",
        regularTarget: "idCard",
        errorTip: "身份证信息错误"
    });
    $("#labPhone input").checkRequired({
        required: true,
        onFocus: "Required",
        onBlur: "请填写手机号",
        regularTarget: "iPhone",
        errorTip: "请输入正确手机号"
        
    });

 

posted @ 2015-12-30 17:01  纳闷儿  阅读(199)  评论(0编辑  收藏  举报