验证

密码等级

function pwdLevel(value) {
    var pattern_1 = /^.*([\W_])+.*$/i;
    var pattern_2 = /^.*([a-zA-Z])+.*$/i;
    var pattern_3 = /^.*([0-9])+.*$/i;
    var level = 0;
    if (value.length > 10) {
        level++;
    }
    if (pattern_1.test(value)) {
        level++;
    }
    if (pattern_2.test(value)) {
        level++;
    }
    if (pattern_3.test(value)) {
        level++;
    }
    if (level > 3) {
        level = 3;
    }
    return level;
}

密码过于简单

var weakPwdArray = ["123456","123456789","111111","5201314","12345678","123123","password","1314520","123321","7758521","1234567","5211314","666666","520520","woaini","520131","11111111","888888","hotmail.com","112233","123654","654321","1234567890","a123456","88888888","163.com","000000","yahoo.com.cn","sohu.com","yahoo.cn","111222tianya","163.COM","tom.com","139.com","wangyut2","pp.com","yahoo.com","147258369","123123123","147258","987654321","100200","zxcvbnm","123456a","521521","7758258","111222","110110","1314521","11111111","12345678","a321654","111111","123123","5201314","00000000","q123456","123123123","aaaaaa","a123456789","qq123456","11112222","woaini1314","a123123","a111111","123321","a5201314","z123456","liuchang","a000000","1314520","asd123","88888888","1234567890","7758521","1234567","woaini520","147258369","123456789a","woaini123","q1q1q1q1","a12345678","qwe123","123456q","121212","asdasd","999999","1111111","123698745","137900","159357","iloveyou","222222","31415926","123456","111111","123456789","123123","9958123","woaini521","5201314","18n28n24a5","abc123","password","123qwe","123456789","12345678","11111111","dearbook","00000000","123123123","1234567890","88888888","111111111","147258369","987654321","aaaaaaaa","1111111111","66666666","a123456789","11223344","1qaz2wsx","xiazhili","789456123","password","87654321","qqqqqqqq","000000000","qwertyuiop","qq123456","iloveyou","31415926","12344321","0000000000","asdfghjkl","1q2w3e4r","123456abc","0123456789","123654789","12121212","qazwsxedc","abcd1234","12341234","110110110","asdasdasd","123456","22222222","123321123","abc123456","a12345678","123456123","a1234567","1234qwer","qwertyui","123456789a","qq.com","369369","163.com","ohwe1zvq","xiekai1121","19860210","1984130","81251310","502058","162534","690929","601445","1814325","as1230","zz123456","280213676","198773","4861111","328658","19890608","198428","880126","6516415","111213","195561","780525","6586123","caonima99","168816","123654987","qq776491","hahabaobao","198541","540707","leqing123","5403693","123456","123456789","111111","5201314","123123","12345678","1314520","123321","7758521","1234567","5211314","520520","woaini","520131","666666","RAND#a#8","hotmail.com","112233","123654","888888","654321","1234567890","a123456"];

验证规则

var validateRegExp = {
    decmal: "^([+-]?)\\d*\\.\\d+$", //浮点数
    decmal1: "^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$", //正浮点数
    decmal2: "^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$", //负浮点数
    decmal3: "^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$", //浮点数
    decmal4: "^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$", //非负浮点数(正浮点数 + 0)
    decmal5: "^(-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*))|0?.0+|0$", //非正浮点数(负浮点数 + 0)
    intege: "^-?[1-9]\\d*$", //整数
    intege1: "^[1-9]\\d*$", //正整数
    intege2: "^-[1-9]\\d*$", //负整数
    num: "^([+-]?)\\d*\\.?\\d+$", //数字
    num1: "^[1-9]\\d*|0$", //正数(正整数 + 0)
    num2: "^-[1-9]\\d*|0$", //负数(负整数 + 0)
    ascii: "^[\\x00-\\xFF]+$", //仅ACSII字符
    chinese: "^[\\u4e00-\\u9fa5]+$", //仅中文
    color: "^[a-fA-F0-9]{6}$", //颜色
    date: "^\\d{4}(\\-|\\/|\.)\\d{1,2}\\1\\d{1,2}$", //日期
    email: "^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$", //邮件
    idcard: "^[1-9]([0-9]{14}|[0-9]{17})$", //身份证
    ip4: "^(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)$", //ip地址
    letter: "^[A-Za-z]+$", //字母
    letter_l: "^[a-z]+$", //小写字母
    letter_u: "^[A-Z]+$", //大写字母
    mobile: "^0?(13|15|18|14)[0-9]{9}$", //手机
    notempty: "^\\S+$", //非空
    password: "^.*[A-Za-z0-9\\w_-]+.*$", //密码
    fullNumber: "^[0-9]+$", //数字
    picture: "(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$", //图片
    qq: "^[1-9]*[1-9][0-9]*$", //QQ号码
    rar: "(.*)\\.(rar|zip|7zip|tgz)$", //压缩文件
    tel: "^[0-9\-()()]{7,18}$", //电话号码的函数(包括验证国内区号,国际区号,分机号)
    url: "^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$", //url
    username: "^[A-Za-z0-9_\\-\\u4e00-\\u9fa5]+$", //户名
    deptname: "^[A-Za-z0-9_()()\\-\\u4e00-\\u9fa5]+$", //单位名
    zipcode: "^\\d{6}$", //邮编
    realname: "^[A-Za-z\\u4e00-\\u9fa5]+$", // 真实姓名
    companyname: "^[A-Za-z0-9_()()\\-\\u4e00-\\u9fa5]+$",
    companyaddr: "^[A-Za-z0-9_()()\\#\\-\\u4e00-\\u9fa5]+$",
    companysite: "^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&#=]*)?$"
};

//主函数
(function ($) {
    $.fn.jdValidate = function (option, callback, def) {
        var ele = this;
        var id = ele.attr("id");
        var type = ele.attr("type");
        var rel = ele.attr("rel");
        var _onFocus = $("#" + id + validateSettings.onFocus.container);
        var _succeed = $("#" + id + validateSettings.succeed.container);
        var _isNull = $("#" + id + validateSettings.isNull.container);
        var _error = $("#" + id + validateSettings.error.container);
        if (def == true) {
            var str = ele.val();
            var tag = ele.attr("sta");
            if (str == "" || str == "-1") {
                validateSettings.isNull.run({
                    prompts: option,
                    element: ele,
                    isNullEle: _isNull,
                    succeedEle: _succeed
                }, option.isNull);
            } else if (tag == 1 || tag == 2) {
                return;
            } else {
                callback({
                    prompts: option,
                    element: ele,
                    value: str,
                    errorEle: _error,
                    succeedEle: _succeed
                });
            }
        } else {
            if (typeof def == "string") {
                ele.val(def);
            }
            if (type == "checkbox" || type == "radio") {
                if (ele.attr("checked") == true) {
                    ele.attr("sta", validateSettings.succeed.state);
                }
            }
            switch (type) {
                case "text":
                case "password":
                    ele.bind("focus", function () {
                        var str = ele.val();
                        if (str == def) {
                            ele.val("");
                        }
                        validateSettings.onFocus.run({
                            prompts: option,
                            element: ele,
                            value: str,
                            onFocusEle: _onFocus,
                            succeedEle: _succeed
                        }, option.onFocus, option.onFocusExpand);
                    })
                        .bind("blur", function () {
                            var str = ele.val();
                            if (str == "") {
                                ele.val(def);
                            }
                            if (validateRules.isNull(str)) {
                                validateSettings.isNull.run({
                                    prompts: option,
                                    element: ele,
                                    value: str,
                                    isNullEle: _isNull,
                                    succeedEle: _succeed
                                }, "");
                            } else {
                                callback({
                                    prompts: option,
                                    element: ele,
                                    value: str,
                                    errorEle: _error,
                                    isNullEle: _isNull,
                                    succeedEle: _succeed
                                });
                            }
                        });
                    break;
                default:
                    if (rel && rel == "select") {
                        ele.bind("change", function () {
                            var str = ele.val();
                            callback({
                                prompts: option,
                                element: ele,
                                value: str,
                                errorEle: _error,
                                isNullEle: _isNull,
                                succeedEle: _succeed
                            });
                        })
                    } else {
                        ele.bind("click", function () {
                            callback({
                                prompts: option,
                                element: ele,
                                errorEle: _error,
                                isNullEle: _isNull,
                                succeedEle: _succeed
                            });
                        })
                    }
                    break;
            }
        }
    }
})(jQuery);

//配置
var validateSettings = {
    onFocus: {
        state: null,
        container: "_error",
        style: "focus",
        run: function (option, str, expands) {
            if (!validateRules.checkType(option.element)) {
                option.element.removeClass(validateSettings.INPUT_style2).addClass(validateSettings.INPUT_style1);
            }
            option.succeedEle.removeClass(validateSettings.succeed.style);
            option.onFocusEle.removeClass().addClass(validateSettings.onFocus.style).html(str);
            if (expands) {
                expands();
            }
        }
    },
    isNull: {
        state: 0,
        container: "_error",
        style: "null",
        run: function (option, str) {
            option.element.attr("sta", 0);
            if (!validateRules.checkType(option.element)) {
                if (str == "") {
                    option.element.removeClass(validateSettings.INPUT_style2).removeClass(validateSettings.INPUT_style1);
                } else {
                    option.element.removeClass(validateSettings.INPUT_style1).addClass(validateSettings.INPUT_style2);
                }
            }

            option.succeedEle.removeClass(validateSettings.succeed.style);
            if (str == "") {
                option.isNullEle.removeClass().addClass(validateSettings.isNull.style).html(str);
            } else {
                option.isNullEle.removeClass().addClass(validateSettings.error.style).html(str);
            }
        }
    },
    error: {
        state: 1,
        container: "_error",
        style: "error",
        run: function (option, str) {
            option.element.attr("sta", 1);
            if (!validateRules.checkType(option.element)) {
                option.element.removeClass(validateSettings.INPUT_style1).addClass(validateSettings.INPUT_style2);
            }

            option.succeedEle.removeClass(validateSettings.succeed.style);
            option.errorEle.removeClass().addClass(validateSettings.error.style).html(str);
        }
    },
    succeed: {
        state: 2,
        container: "_succeed",
        style: "succeed",
        run: function (option) {
            option.element.attr("sta", 2);
            option.errorEle.empty();
            if (!validateRules.checkType(option.element)) {
                option.element.removeClass(validateSettings.INPUT_style1).removeClass(validateSettings.INPUT_style2);
            }

            option.succeedEle.addClass(validateSettings.succeed.style);
            option.errorEle.removeClass();
        }
    },
    INPUT_style1: "highlight1",
    INPUT_style2: "highlight2"
}

//验证规则
var validateRules = {
    isNull: function (str) {
        return (str == "" || typeof str != "string");
    },
    betweenLength: function (str, _min, _max) {
        return (str.length >= _min && str.length <= _max);
    },
    isUid: function (str) {
        return new RegExp(validateRegExp.username).test(str);
    },
    fullNumberName: function (str) {
        return new RegExp(validateRegExp.fullNumber).test(str);
    },
    isPwd: function (str) {
        return /^.*([\W_a-zA-z0-9-])+.*$/i.test(str);
    },
    isPwdRepeat: function (str1, str2) {
        return (str1 == str2);
    },
    isEmail: function (str) {
        return new RegExp(validateRegExp.email).test(str);
    },
    isTel: function (str) {
        return new RegExp(validateRegExp.tel).test(str);
    },
    isMobile: function (str) {
        return new RegExp(validateRegExp.mobile).test(str);
    },
    checkType: function (element) {
        return (element.attr("type") == "checkbox" || element.attr("type") == "radio" || element.attr("rel") == "select");
    },
    isRealName: function (str) {
        return new RegExp(validateRegExp.realname).test(str);
    },
    isCompanyname: function (str) {
        return new RegExp(validateRegExp.companyname).test(str);
    },
    isCompanyaddr: function (str) {
        return new RegExp(validateRegExp.companyaddr).test(str);
    },
    isCompanysite: function (str) {
        return new RegExp(validateRegExp.companysite).test(str);
    },
    simplePwd: function (str) {
//        var pin = $("#regName").val();
//        if (pin.length > 0) {
//            pin = strTrim(pin);
//            if (pin == str) {
//                return true;
//            }
//        }
        return pwdLevel(str) == 1;
    },
    weakPwd: function (str) {
        for(var i = 0; i < weakPwdArray.length; i++) {
            if(weakPwdArray[i] == str) {
                return true;
            }
        }
        return false;
    }
};
//验证文本
var validatePrompt = {
    regName: {
        onFocus: "请输入邮箱/用户名/手机号",
        succeed: "",
        isNull: "请输入邮箱/用户名/手机号",
        error: {
            beUsed: "该用户名已被使用,请重新输入或使用推荐用户名。如果您是&quot;{1}&quot;,请立刻<a href='https://passport.jd.com/uc/login' class='flk13'>登录</a>",
            badLength: "用户名长度只能在4-20位字符之间",
            badFormat: "用户名只能由中文、英文、数字及“_”、“-”组成",
            fullNumberName: "<span>用户名不能是纯数字,请确认输入的是手机号或者重新输入</span>"
        },
        onFocusExpand: function () {
            $("#morePinDiv").removeClass().addClass("intelligent-error hide");
        }
    },

    pwd: {
        onFocus: "<span>6-20位字符,可使用字母、数字或符号的组合,不建议使用纯数字,纯字母,纯符号</span>",
        succeed: "",
        isNull: "请输入密码",
        error: {
            badLength: "密码长度只能在6-20位字符之间",
            badFormat: "密码只能由英文、数字及标点符号组成",
            simplePwd: "<span>该密码比较简单,有被盗风险,建议您更改为复杂密码,如字母+数字的组合</span>",
            weakPwd: "<span>该密码比较简单,有被盗风险,建议您更改为复杂密码</span>"
        },
        onFocusExpand: function () {
            $("#pwdstrength").hide();
        }
    },
    pwdRepeat: {
        onFocus: "请再次输入密码",
        succeed: "",
        isNull: "请输入密码",
        error: {
            badLength: "密码长度只能在6-20位字符之间",
            badFormat2: "两次输入密码不一致",
            badFormat1: "密码只能由英文、数字及标点符号组成"
        }
    },
    mobileCode: {
        onFocus: "",
        succeed: "",
        isNull: "请输入短信验证码",
        error: "验证码错误"
    },
    protocol: {
        onFocus: "",
        succeed: "",
        isNull: "请先阅读并同意《京东用户注册协议》",
        error: ""
    },
    empty: {
        onFocus: "",
        succeed: "",
        isNull: "",
        error: ""
    }
};

var nameold, morePinOld, emailResult;
var namestate = false;
//回调函数
var validateFunction = {
    regName: function (option) {
        $("#intelligent-regName").empty().hide();
        var regName = option.value;
        if (validateRules.isNull(regName) || regName == '邮箱/用户名/手机号') {
            option.element.removeClass(validateSettings.INPUT_style2).removeClass(validateSettings.INPUT_style1);
            $("#regName_error").removeClass().empty();
            return;
        }

        if (regName.indexOf("@") > -1) {
            $("#mobileCodeDiv").removeClass().addClass("item hide");
            $("#authcodeDiv").show();
            checkEmail(option);
            return;
        }
        if (validateRules.isMobile(regName)) {
            checkMobile(option);
            return;
        }
        $("#mobileCodeDiv").removeClass().addClass("item hide");
        $("#authcodeDiv").show();
        checkPin(option);
    },

    pwd: function (option) {
        var str1 = option.value;
        var regName = $("#regName").val();
        if ((validateRules.isNull(regName) == false) && (regName != '邮箱/用户名/手机号') && regName == str1) {
            $("#pwdstrength").hide();
            validateSettings.error.run(option, "<span>您的密码与账户信息太重合,有被盗风险,请换一个密码</span>");
            return;
        }

        var str2 = $("#pwdRepeat").val();
        var format = validateRules.isPwd(option.value);
        var length = validateRules.betweenLength(option.value, 6, 20);

        $("#pwdstrength").hide();
        if (!length && format) {
            validateSettings.error.run(option, option.prompts.error.badLength);
        } else if (!length && !format) {
            validateSettings.error.run(option, option.prompts.error.badFormat);
        } else if (length && !format) {
            validateSettings.error.run(option, option.prompts.error.badFormat);
        } else if (validateRules.weakPwd(str1)) {
            validateSettings.error.run(option, option.prompts.error.weakPwd);
        } else {

            validateSettings.succeed.run(option);
            validateFunction.pwdstrength();
            if (validateRules.simplePwd(str1)) {
                $("#pwd_error").removeClass().addClass("focus");
                $("#pwd_error").empty().html(option.prompts.error.simplePwd);
                return;
            }
        }
        if (str2 == str1) {
            $("#pwdRepeat").focus();
        }
    },
    pwdRepeat: function (option) {
        var str1 = option.value;
        var str2 = $("#pwd").val();
        var length = validateRules.betweenLength(option.value, 6, 20);
        var format2 = validateRules.isPwdRepeat(str1, str2);
        var format1 = validateRules.isPwd(str1);
        if (!length) {
            validateSettings.error.run(option, option.prompts.error.badLength);
        } else {
            if (!format1) {
                validateSettings.error.run(option, option.prompts.error.badFormat1);
            } else {
                if (!format2) {
                    validateSettings.error.run(option, option.prompts.error.badFormat2);
                }
                else {
                    validateSettings.succeed.run(option);
                }
            }
        }
    },

    mobileCode: function (option) {
        var bool = validateRules.isNull(option.value);
        if (bool) {
            validateSettings.error.run(option, option.prompts.error);
            return;
        } else {
            validateSettings.succeed.run(option);
        }
    },
    protocol: function (option) {
        if (option.element.attr("checked") == true) {
            option.element.attr("sta", validateSettings.succeed.state);
            option.errorEle.html("");
        } else {
            option.element.attr("sta", validateSettings.isNull.state);
            option.succeedEle.removeClass(validateSettings.succeed.style);
        }
    },
    pwdstrength: function () {
        var element = $("#pwdstrength");
        var value = $("#pwd").val();
        if (value.length >= 6 && validateRules.isPwd(value)) {
            $("#pwd_error").removeClass('focus');
            $("#pwd_error").empty();
            element.show();
            var level = pwdLevel(value);
            switch (level) {
                case 1:
                    element.removeClass().addClass("strengthA");
                    break;
                case 2:
                    element.removeClass().addClass("strengthB");
                    break;
                case 3:
                    element.removeClass().addClass("strengthC");
                    break;
                default:
                    break;
            }
        } else {
            element.hide();
        }
    },
    checkGroup: function (elements) {
        for (var i = 0; i < elements.length; i++) {
            if (elements[i].checked) {
                return true;
            }
        }
        return false;
    },
    checkSelectGroup: function (elements) {
        for (var i = 0; i < elements.length; i++) {
            if (elements[i].value == -1) {
                return false;
            }
        }
        return true;
    },

    FORM_submit: function (elements) {
        var bool = true;
        for (var i = 0; i < elements.length; i++) {
            if ($(elements[i]).attr("sta") == 2) {
                bool = true;
            } else {
                bool = false;
                break;
            }
        }

        return bool;
    }
};

var checkpin = -10;
function checkPin(option) {
    var pin = option.value;
    if (!validateRules.betweenLength(pin.replace(/[^\x00-\xff]/g, "**"), 4, 20)) {
        validateSettings.error.run(option, option.prompts.error.badLength);
        return false;
    }

    if (!validateRules.isUid(pin)) {
        validateSettings.error.run(option, option.prompts.error.badFormat);
        return;
    }
    if (validateRules.fullNumberName(pin)) {
        validateSettings.error.run(option, option.prompts.error.fullNumberName);
        return;
    }
    if (!namestate || nameold != pin) {
        if (nameold != pin) {
            nameold = pin;
            option.errorEle.html("<em style='color:#999'>检验中……</em>");
            $.getJSON("../validate/isPinEngaged?pin=" + escape(pin) + "&r=" + Math.random(), function (date) {
                checkpin = date.success;
                if (date.success == 0) {
                    validateSettings.succeed.run(option);
                    namestate = true;
                } else if (date.success == 2) {
                    validateSettings.error.run(option, "用户名包含了非法词");
                    namestate = false;
                } else {
                    validateSettings.error.run(option, "<span>" + option.prompts.error.beUsed.replace("{1}", option.value) + "</span>");
                    namestate = false;
                    morePinOld = date.morePin;
                    if (date.morePin != null && date.morePin.length > 0) {
                        var html = ""
                        for (var i = 0; i < date.morePin.length; i++) {
                            html += "<div class='item-fore'><input name='morePinRadio' onclick='selectMe(this);' type='radio' class='radio' value='" + date.morePin[i] + "'/><label>" + date.morePin[i] + "</label></div>"
                        }
                        $("#morePinGroom").empty();
                        $("#morePinGroom").html(html);
                        $("#morePinDiv").removeClass().addClass("intelligent-error");
                    }
                }
            });
        } else {

            if (checkpin == 2) {
                validateSettings.error.run(option, "用户名包含了非法词");
            } else {
                validateSettings.error.run(option, "<span>" + option.prompts.error.beUsed.replace("{1}", option.value) + "</span>");
                if (morePinOld != null && morePinOld.length > 0) {
                    $("#morePinDiv").removeClass().addClass("intelligent-error");
                }
            }
            namestate = false;
        }
    } else {
        validateSettings.succeed.run(option);
    }
}

function selectMe(option) {
    $("#morePinDiv").removeClass().addClass("intelligent-error hide");
    $("#regName").val(option.value);
    $("#regName").blur();
}

function checkEmail(option) {
    var email = option.value;
    var email = strTrim(option.value);
    var format = validateRules.isEmail(email);
    var format2 = validateRules.betweenLength(email, 0, 50);
    if (!format) {
        validateSettings.error.run(option, "邮箱地址不正确,请重新输入");
    } else {
        if (!format2) {
            validateSettings.error.run(option, "邮箱地址长度应在4-50个字符之间");
        } else {
            if (!namestate || nameold != email) {
                if (nameold != email) {
                    nameold = email;
                    option.errorEle.html("<em style='color:#999'>检验中……</em>");
                    $.getJSON("../validate/isEmailEngaged?email=" + escape(option.value) + "&r=" + Math.random(), function (date) {

                        emailResult = date.success;
                        if (date.success == 0) {
                            validateSettings.succeed.run(option);
                            namestate = true;
                            if ($("#mail")) {
                                $("#mail").val(option.value);
                            }
                        }
                        if (date.success == 1) {
                            validateSettings.error.run(option, "该邮箱已存在,立刻<a  class='flk13' href='https://passport.jd.com/uc/login'>登录</a>");
                            namestate = false;
                        }
                        if (date.success == 2) {
                            validateSettings.error.run(option, "邮箱地址不正确,请重新输入");
                            namestate = false;
                        }
                        if (date.success == 3) {
                            validateSettings.error.run(option, "<span>中国雅虎邮箱已经停止服务,请您换一个邮箱</span>");
                            namestate = false;
                        }
                    })
                }
                else {
                    namestate = false;
                    if (emailResult == 1) {
                        validateSettings.error.run(option, "该邮箱已存在,立刻<a  class='flk13' href='https://passport.jd.com/uc/login'>登录</a>");
                    }
                    if (emailResult == 2) {
                        validateSettings.error.run(option, "邮箱地址不正确,请重新输入");

                    }
                    if (emailResult == 3) {
                        validateSettings.error.run(option, "<span>中国雅虎邮箱已经停止服务,请您换一个邮箱</span>");
                    }
                }
            }
            else {
                validateSettings.succeed.run(option);
            }
        }
    }
}
function checkMobile(option) {
    var mobileValue = option.value;
    mobileValue = strTrim(mobileValue);
    var isMobile = validateRules.isMobile(mobileValue);
    if (!isMobile || mobileValue.length > 11) {
        validateSettings.error.run(option, option.prompts.error.badFormat);
    } else {
        if (!namestate || nameold != option.value) {
            if (nameold != option.value) {
                nameold = option.value;
                option.errorEle.html("<em style='color:#999'>检验中……</em>");
                $.getJSON("../validate/isMobileEngaged?mobile=" + option.value + "&r=" + Math.random(), function (date) {
                    if (date.success == 0) {
                        validateSettings.succeed.run(option);
                        $("#mobileCodeDiv").removeClass().addClass("item");
                        $("#authcodeDiv").hide();
                        namestate = true;

                        if ($("#mobile")) {
                            $("#mobile").val(option.value);
                        }
                    } else {
                        validateSettings.error.run(option, "该手机号已存在,立刻<a  class='flk13' href='https://passport.jd.com/uc/login'>登录</a>");
                        namestate = false;
                    }
                })
            } else {
                validateSettings.error.run(option, "该手机号已存在,立刻<a  class='flk13' href='https://passport.jd.com/uc/login'>登录</a>");
                namestate = false;
            }
        } else {
            validateSettings.succeed.run(option);
        }
    }
}

function sendMobileCode() {
    var mobile = $("#regName").val();
    if (validateRules.isNull(mobile) || !validateRules.isMobile(mobile)) {
        $("#regName_error").html("<span>手机号码格式有误,请输入以13/14/15/17/18开头的11位数字。<span>");
        $("#regName_error").removeClass().addClass("error");
        //  $("#regName").removeClass().addClass("text highlight2");
        $("#regName_error").show();
        return;
    }
    if ($("#sendMobileCode").attr("disabled")) {
        return;
    }
    $("#sendMobileCode").attr("disabled", "disabled");

    jQuery.ajax({
        type: "get",
        url: "../notify/mobileCode?mobile=" + $("#regName").val() + "&r=" + Math.random(),
        success: function (result) {
            if (result) {
                var obj = eval(result);
                if (obj.rs == 1 || obj.remain) {
                    $("#mobileCode_error").addClass("hide");
                    $("#dyMobileButton").html("120秒后重新获取");
                    if (obj.remain) {
                        $("#mobileCodeSucMessage").empty().html(obj.remain);
                    } else {
                        $("#mobileCodeSucMessage").empty().html("验证码已发送,请查收短信。");
                    }

                    setTimeout(countDown, 1000);
                    $("#sendMobileCode").removeClass().addClass("btn btn-15").attr("disabled", "disabled");
                    $("#mobileCode").removeAttr("disabled");
                }
                if (obj.rs == -1) {
                    $("#regName_error").html("<span>手机号码格式有误,请输入以13/14/15/17/18开头的11位数字。</span>");
                    $("#regName_error").removeClass().addClass("error");
                    $("#regName").removeClass().addClass("text highlight2");
                    $("#sendMobileCode").removeClass().addClass("btn").removeAttr("disabled");
                }
                if (obj.info) {
                    mobileCodeError(obj.info);
                }

                if (obj.rs == -2) {
                    mobileCodeError("网络繁忙,请稍后重新获取验证码");
                }
            }
        }
    });
}

function mobileCodeError(content) {
    $("#mobileCode_error").html(content);
    $("#mobileCode_error").removeClass().addClass("error");
    $("#mobileCode_error").show();
    $("#sendMobileCode").removeClass().addClass("btn").removeAttr("disabled");
}
var delayTime = 120;
function countDown() {
    delayTime--;
    $("#dyMobileButton").html(delayTime + '秒后重新获取');
    if (delayTime == 0) {
        delayTime = 120;
        $("#mobileCodeSucMessage").empty();
        $("#dyMobileButton").html("获取短信验证码");
        $("#mobileCode_error").addClass("hide");
        $("#sendMobileCode").removeClass().addClass("btn").removeAttr("disabled");
    } else {
        setTimeout(countDown, 1000);
    }
}

function strTrim(str) {
    return str.replace(/(^\s*)|(\s*$)/g, "");
}
var emailSurfixArray = ['@163.com', '@126.com', '@qq.com', '@sina.com', '@gmail.com', '@sohu.com', '@vip.163.com', '@vip.126.com', '@188.com', '@139.com', '@yeah.net'];

function moreName(event) {
    var sval = this.value;
    event = event ? event : window.event;
    var keyCode = event.keyCode;
    var vschool = $('#intelligent-regName');
    if (keyCode == 40 || keyCode == 38 || keyCode == 13) {
        var tipindex = $("#hnseli").val() == "" ? -1 : $("#hnseli").val();
        var fobj;
        if (keyCode == 40) {
            tipindex++;
            if (tipindex == vschool.find("li").length) {
                tipindex = 0;
                vschool.find("li").eq(vschool.find("li").length - 1).css("background-color", "");
            }
            fobj = vschool.find("li").eq(tipindex);
            vschool.find("li").eq(tipindex - 1).css("background-color", "");
            fobj.css("background-color", "#EEEEEE");
            $("#regName").val(fobj.html().replace(/<(\S*?)[^>]*>|<.*? \/>/g, ""));
            $("#schoolid").val(fobj.attr("value"));
            $("#hnseli").val(tipindex);
            return;
        } else if (keyCode == 38) {
            tipindex--;
            if (tipindex <= -1) {
                tipindex = vschool.find("li").length - 1;
                vschool.find("li").eq(0).css("background-color", "");
            }
            vschool.find("li").eq(tipindex + 1).css("background-color", "");
            fobj = vschool.find("li").eq(tipindex);
            fobj.css("background-color", "#EEEEEE");
            if (fobj.html() != null) {
                $("#regName").val(fobj.html().replace(/<(\S*?)[^>]*>|<.*? \/>/g, ""));
                $("#schoolid").val(fobj.attr("value"));
            }
            $("#hnseli").val(tipindex);
            return;
        } else if (keyCode == 13) {
            $("#hnseli").val("-1");
            if ($("#regName").val().length >= 1) {
                var combinedValue = vschool.find("li").eq(tipindex).html();
                if (combinedValue != null) {
                    $("#regName").val(combinedValue.replace(/<(\S*?)[^>]*>|<.*? \/>/g, ""));
                }
                vschool.empty().hide();
                if ($("#schoolid").val() != "") {
                    $("#hnschool").val("1");
                    $("#hnschool").attr("sta", 2);
                    $("#regName").blur();
                } else {
                    $("#hnschool").val("-1");
                    $("#hnschool").attr("sta", 0);
                    $("#regNamel_error").html("");
                    $("#regName_succeed").removeClass("succeed");
                }
                return;
            }
        }
    } else {
        //hide morePin
        $("#morePinDiv").removeClass().addClass("intelligent-error hide");

        if (sval != "") {
            var userinput = sval;
            var oldSval = "";
            var pos = sval.indexOf("@");
            if (pos >= 0) {
                oldSval = sval.substring(0, pos);
            }

            $("#schoolid").val("");
            $("#hnseli").val("-1");
            var html = "";
            if (/[\u4E00-\u9FA5]/g.test(sval) || sval.indexOf("-") > -1 || sval.indexOf("_") > -1) {
                html = "<li>" + sval + "</li>";
            } else {
                if (oldSval != '') {
                    sval = oldSval;
                }
                if (userinput.indexOf("@") == 0) {
                    sval = "";
                }
                html = "<li>" + userinput + "</li>";
                var partSurfix = initEmailSurfixArray(userinput);
                if (partSurfix != null) {
                    for (var i = 0; i < partSurfix.length; i++) {
                        html += "<li>" + sval + partSurfix[i] + "</li>";
                    }
                }
            }
            if (sval.length > 25) {
                $('#intelligent-regName').hide();
            } else {
                $('#intelligent-regName').show();
                $('#intelligent-regName').html(html).find("li").mousedown(function () {
                    $("#regName").val($(this).html());
                    $("#schoolid").val($(this).attr("value"));
                    $("#hnseli").val("-1");
                });
            }
        } else {
            $('#intelligent-regName').html("").hide();
            $("#schoolid").val("");
            $("#hnseli").val("-1");
        }
    }
}

$("#regName").keyup(moreName);
$("#regName").focus(moreName);

function initEmailSurfixArray(str) {
    var pos = str.indexOf("@");
    if (pos < 0 || pos == (str.length - 1)) {
        return emailSurfixArray;
    }
    var inputSurfix = str.substring(pos, str.length);
    var suitableSurfixArray = [];
    var j = 0;
    for (var i = 0; i < emailSurfixArray.length; i++) {
        if (emailSurfixArray[i].indexOf(inputSurfix) == 0) {
            suitableSurfixArray[j] = emailSurfixArray[i];
            j++;
        }
    }

    return suitableSurfixArray;
}

$("#intelligent-regName li").livequery("mouseover",function () {
    var vi = $(this).attr("dex");
    var tipindex = $("#hnseli").val() == "" ? -1 : $("#hnseli").val();
    if (tipindex <= 0) {
        tipindex = 0;
    }
    $('#intelligent-regName').find("li").eq(tipindex).css("background-color", "");
    $(this).css("background-color", "#EEEEEE");
    $("#hnseli").val($(this).attr("dex"));
}).livequery("mouseleave", function () {
        var tipindex = $("#hnseli").val() == "" ? -1 : $("#hnseli").val();
        if (tipindex <= 0) {
            tipindex = 0;
        }
        $(this).css("background-color", "");
        $("#hnseli").val("-1");
    });

$("#regName").blur(function () {
    setTimeout(function () {
        if ($("#schoolid").val() == "") {
            $("#schoolinput").val("");
            $("#hnschool").val("-1");
            $("#hnschool").attr("sta", 0);
            $("#schoolinput_succeed").removeClass("succeed");
        } else {
            $("#hnschool").val("1");
            $("#hnschool").attr("sta", 2);
            $("#schoolinput_error").html("");
            $("#schoolinput_succeed").addClass("succeed");
        }
        $('#intelligent-school').hide().empty();
        $("#hnseli").val("-1");
    }, 200)
})

/*扩展*/

$.extend(validatePrompt, {
    realname: {
        onFocus: "2-20位字符,可由中文或英文组成",
        succeed: "",
        isNull: "请输入联系人姓名",
        error: {
            badLength: "联系人姓名长度只能在2-20位字符之间",
            badFormat: "联系人姓名只能由中文或英文组成"
        }
    },
    department: {
        onFocus: "",
        succeed: "",
        isNull: "请选择联系人所在部门",
        error: ""
    },
    tel: {
        onFocus: "<span>请填写联系人常用的电话,以便于我们联系,如:0527-88105500</span>",
        succeed: "",
        isNull: "请输入联系人固定电话",
        error: "电话格式错误,请重新输入"
    },
    mobile: {
        onFocus: "非北京、上海、广州三地客户,请在手机号前加“0”",
        succeed: "",
        isNull: "",
        error: "手机号格式错误,请重新输入"
    },
    companyname: {
        onFocus: "<span>请填写工商局注册的全称。4-40位字符,可由中英文、数字及“_”、“-”、()、()组成</span>",
        succeed: "",
        isNull: "请输入公司名称",
        error: {
            badLength: "公司名称长度只能在4-40位字符之间",
            badFormat: "<span>公司名称只能由中文、英文、数字及“_”、“-”、()、()组成</span>"
        }
    },
    companyarea: {
        onFocus: "请选择公司所在地",
        succeed: "",
        isNull: "请选择公司所在地",
        error: ""
    },
    companyaddr: {
        onFocus: "<span>请详细填写公司经营地址 如:北京市海淀区苏州街20号银丰大厦B座3层</span>",
        succeed: "",
        isNull: "请输入公司地址",
        error: {
            badLength: "公司地址长度只能在4-50位字符之间",
            badFormat: "<span>公司地址只能由中文、英文、数字及“_”、“-”、()、()、#组成</span>"
        }
    },
    purpose: {
        onFocus: "",
        succeed: "",
        isNull: "请选择购买类型/用途",
        error: ""
    },
    companysite: {
        onFocus: "如:http://www.jd.com",
        succeed: "",
        isNull: "",
        error: {
            badLength: "公司网址长度只能在80位字符之内",
            badFormat: "公司网址格式不正确。应如:http://www.jd.com"
        }
    },
    mail: {
        onFocus: "请输入常用的邮箱",
        succeed: "",
        isNull: "请输入邮箱",
        error: {
            beUsed: "该邮箱已被使用,请更换其它邮箱",
            badFormat: "请输入有效的邮箱地址",
            badLength: "您填写的邮箱过长,邮箱地址只能在50个字符以内"
        }
    }
});

$.extend(validateFunction, {
    mail: function (option) {
        var format = validateRules.isEmail(option.value);
        var format2 = validateRules.betweenLength(option.value, 0, 50);
        if (!format) {
            validateSettings.error.run(option, option.prompts.error.badFormat);
        } else {
            if (!format2) {
                validateSettings.error.run(option, option.prompts.error.badLength);
            } else {
                if (!emailstate || emailold != option.value) {
                    if (emailold != option.value) {
                        emailold = option.value;
                        validateSettings.succeed.run(option);
                        emailstate = true;
                    }
                    else {
                        validateSettings.error.run(option, option.prompts.error.beUsed);
                        emailstate = false;
                    }
                }
                else {
                    if ($("#email_linker")) {
                        $("#email_linker").text(option.value);
                    }
                    validateSettings.succeed.run(option);
                }
            }
        }
    },

    realname: function (option) {
        var length = validateRules.betweenLength(option.value.replace(/[^\x00-\xff]/g, "**"), 2, 20);
        var format = validateRules.isRealName(option.value);
        if (!length) {
            validateSettings.error.run(option, option.prompts.error.badLength);
        } else {
            if (!format) {
                validateSettings.error.run(option, option.prompts.error.badFormat);
            }
            else {
                validateSettings.succeed.run(option);
            }
        }
    },
    department: function (option) {
        var bool = (option.value == -1);
        if (bool) {
            validateSettings.isNull.run(option, "");
        }
        else {
            validateSettings.succeed.run(option);
        }
    },
    tel: function (option) {
        var format = validateRules.isTel(option.value);
        if (!format) {
            validateSettings.error.run(option, option.prompts.error);
        }
        else {
            validateSettings.succeed.run(option);
        }
    },
    mobile: function (option) {
        var format = validateRules.isMobile(option.value);
        if (!format) {
            validateSettings.error.run(option, option.prompts.error);
        }
        else {
            validateSettings.succeed.run(option);
        }
    },
    companyname: function (option) {
        var length = validateRules.betweenLength(option.value.replace(/[^\x00-\xff]/g, "**"), 4, 40);
        var format = validateRules.isCompanyname(option.value);
        if (!length) {
            validateSettings.error.run(option, option.prompts.error.badLength);
        }
        else {
            if (!format) {
                validateSettings.error.run(option, option.prompts.error.badFormat);
            } else {
                validateSettings.succeed.run(option);
            }
        }
    },
    companyarea: function (option) {
        var bool = (option.value == -1);
        if (bool) {
            validateSettings.isNull.run(option, "");
        }
        else {
            validateSettings.succeed.run(option);
        }
    },
    companyaddr: function (option) {
        var length = validateRules.betweenLength(option.value.replace(/[^\x00-\xff]/g, "**"), 4, 50);
        var format = validateRules.isCompanyaddr(option.value);
        if (!length) {
            validateSettings.error.run(option, option.prompts.error.badLength);
        } else {
            if (!format) {
                validateSettings.error.run(option, option.prompts.error.badFormat);
            }
            else {
                validateSettings.succeed.run(option);
            }
        }
    },
    purpose: function (option) {
        var purpose = $("input:checkbox[@name='purposetype']");
        if (validateFunction.checkGroup(purpose)) {
            validateSettings.succeed.run(option);
        } else {
            validateSettings.error.run(option, option.prompts.isNull);
        }
    },
    companysite: function (option) {
        var length = validateRules.betweenLength(option.value, 0, 80);
        var format = validateRules.isCompanysite(option.value);
        if (!length) {
            validateSettings.error.run(option, option.prompts.error.badLength);
        } else {
            if (!format) {
                validateSettings.error.run(option, option.prompts.error.badFormat);
            }
            else {
                validateSettings.succeed.run(option);
            }
        }
    },
    emRegCompany_validate: function () {
        if ($("#mobileCodeDiv").attr("class") == 'item') {
            $("#regName").jdValidate(validatePrompt.regName, validateFunction.regName, true);
            $("#pwd").jdValidate(validatePrompt.pwd, validateFunction.pwd, true)
            $("#pwdRepeat").jdValidate(validatePrompt.pwdRepeat, validateFunction.pwdRepeat, true);
            $("#realname").jdValidate(validatePrompt.realname, validateFunction.realname, true);
            $("#department").jdValidate(validatePrompt.department, validateFunction.department, true);
            $("#tel").jdValidate(validatePrompt.tel, validateFunction.tel, true);
            $("#companyname").jdValidate(validatePrompt.companyname, validateFunction.companyname, true);
            $("#hncompanyarea").jdValidate(validatePrompt.companyarea, validateFunction.companyarea, true);
            $("#companyaddr").jdValidate(validatePrompt.companyaddr, validateFunction.companyaddr, true);

            $("#purpose").jdValidate(validatePrompt.purpose, validateFunction.purpose, true);
            $("#mobileCode").jdValidate(validatePrompt.mobileCode, validateFunction.mobileCode, true);
            return validateFunction.FORM_submit(["#regName", "#pwd", "#pwdRepeat", "#realname", "#department", "#tel", "#companyname", "#hncompanyarea", "#companyaddr", "#purpose", "#mobileCode"]);
        } else {
            $("#regName").jdValidate(validatePrompt.regName, validateFunction.regName, true);
            $("#pwd").jdValidate(validatePrompt.pwd, validateFunction.pwd, true)
            $("#pwdRepeat").jdValidate(validatePrompt.pwdRepeat, validateFunction.pwdRepeat, true);
            $("#realname").jdValidate(validatePrompt.realname, validateFunction.realname, true);
            $("#department").jdValidate(validatePrompt.department, validateFunction.department, true);
            $("#tel").jdValidate(validatePrompt.tel, validateFunction.tel, true);

            $("#companyname").jdValidate(validatePrompt.companyname, validateFunction.companyname, true);
            $("#hncompanyarea").jdValidate(validatePrompt.companyarea, validateFunction.companyarea, true);
            $("#companyaddr").jdValidate(validatePrompt.companyaddr, validateFunction.companyaddr, true);
            $("#purpose").jdValidate(validatePrompt.purpose, validateFunction.purpose, true);

            return validateFunction.FORM_submit(["#regName", "#pwd", "#pwdRepeat", "#realname", "#department", "#tel", "#companyname", "#hncompanyarea", "#companyaddr", "#purpose"]);
        }
    }
});


$("#pwd").bind("keyup",
    function () {
        validateFunction.pwdstrength();
    }).jdValidate(validatePrompt.pwd, validateFunction.pwd)
$("#pwdRepeat").jdValidate(validatePrompt.pwdRepeat, validateFunction.pwdRepeat);
$("#authcode").jdValidate(validatePrompt.authcode, validateFunction.authcode);
$("#regName").jdValidate(validatePrompt.regName, validateFunction.regName);

$("#realname").jdValidate(validatePrompt.realname, validateFunction.realname);
$("#department").jdValidate(validatePrompt.department, validateFunction.department);
$("#tel").jdValidate(validatePrompt.tel, validateFunction.tel);
$("#mobile").jdValidate(validatePrompt.mobile, validateFunction.mobile);
$("#mail").jdValidate(validatePrompt.mail, validateFunction.mail);

$("#companyname").jdValidate(validatePrompt.companyname, validateFunction.companyname);
$("#hncompanyarea").jdValidate(validatePrompt.companyarea, validateFunction.companyarea);
$("#companyaddr").jdValidate(validatePrompt.companyaddr, validateFunction.companyaddr);
$("#companysite").jdValidate(validatePrompt.companysite, validateFunction.companysite);
$("#mobileCode").jdValidate(validatePrompt.mobileCode, validateFunction.mobileCode);

$("#viewpwd").bind("click", function () {
    if ($(this).attr("checked") == true) {
        validateFunction.showPassword("text");
        $("#o-password").addClass("pwdbg");
    } else {
        validateFunction.showPassword("password");
        $("#o-password").removeClass("pwdbg");
    }
});

$("select[@name2='hncompanyarea']").bind("change", function () {
    var elements = $("select[@name2='hncompanyarea']");
    if (validateFunction.checkSelectGroup(elements)) {
        $("#hncompanyarea").val("1");
        $("#hncompanyarea").attr("sta", 2);
        $("#hncompanyarea_error").html("");
        $("#hncompanyarea_error").removeClass();
        $("#hncompanyarea_succeed").addClass("succeed");
    } else {
        $("#hncompanyarea").val("-1");
        $("#hncompanyarea").attr("sta", 0);
        $("#hncompanyarea_error").html("");
        $("#hncompanyarea_succeed").removeClass("succeed");
    }
});

$("input:checkbox[@name='purposetype']").bind("click", function () {
    var value1 = $("#purpose").val();
    var value2 = $(this).val();
    if ($(this).attr("checked") == true) {
        if (value1.indexOf(value2) == -1) {
            $("#purpose").val(value1 + value2);
            $("#purpose").attr("sta", 2);
            $("#purpose_error").html("");
            $("#purpose_error").removeClass();
            $("#purpose_succeed").addClass("succeed");
        }
    } else {
        if (value1.indexOf(value2) != -1) {
            value1 = value1.replace(value2, "");
            $("#purpose").val(value1);
            if ($("#purpose").val() == "") {
                $("#purpose").attr("sta", 0);
                $("#purpose_succeed").removeClass("succeed");
            }
        }
    }
});

function protocolReg() {
    $("#closeBox").click();
    $("#registsubmit").click();
}

$("#registsubmit").click(function () {
    var agreeProtocol = checkReadMe();
    var regnameOk = validateRegName();
    var flag = validateFunction.emRegCompany_validate() && regnameOk && agreeProtocol;
    if (flag) {
        $("#registsubmit").attr({ "disabled": "disabled" }).removeClass().addClass("btn-img btn-regist wait-btn");
        $.ajax({
            type: "POST",
            url: "../reg/regService?r=" + Math.random(),
            contentType: "application/x-www-form-urlencoded; charset=utf-8",
            data: $("#formcompany").serialize(),
            success: function (result) {
                if (result) {
                    var obj = eval(result);
                    if (obj.info) {
                        $("#registsubmit").removeAttr("disabled").removeClass().addClass("btn-img btn-regist");
                        alert(obj.info);
                        verc();
                    }
                    if (obj.success == true) {
                        window.location = obj.dispatchUrl;
                    }
                }
            }
        });
    }
})
$(
    function () {
        refreshAreas(1, 0);
        function refreshAreas(level, parentId) {
            var myname;
            if (level == 1) {
                myname = "companycity";
                if (parentId == -1) {
                    $("#companycity").empty();
                    $("#companycity").append("<option value=\"-1\" selected>请选择</option>");
                    $("#companycity").css({"width": "auto"});
                    $("#companyarea").empty();
                    $("#companyarea").append("<option value=\"-1\" selected>请选择</option>");
                    $("#companyarea").css({"width": "auto"});
                }
            }
            else {
                myname = "companyarea";
                if (parentId == -1) {
                    $("#companyarea").empty();
                    $("#companyarea").append("<option value=\"-1\" selected>请选择</option>");
                    $("#companyarea").css({"width": "auto"});
                }
            }
            if (parentId > 0) {
                $.getJSON(
                    "../reg/area?level=" + level + "&parentId=" + parentId + "&r=" + Math.random(),
                    function (result) {
                        if (result.Areas != null) {
                            $("#" + myname).empty();
                            $("#" + myname).append("<option value=\"-1\"  selected>请选择</option>");
                            for (var i = 0; i < result.Areas.length; i++) {
                                var area = result.Areas[i];
                                $("#" + myname).append("<option  value=\"" + area.Id + "\">" + area.Name + "</option>");
                            }
                            $("#" + myname).css({"width": "Auto"});
                        }
                    });
            }
        }

        $("#companyprovince").change(
            function () {
                $("#hncompanyarea_error").removeClass();
                refreshAreas(1, parseInt($(this).val()));
                $("#companyarea").empty();
                $("#companyarea").append("<option value=\"-1\" selected>请选择</option>");
            }
        )

        $("#companycity").change(
            function () {
                $("#hncompanyarea_error").removeClass();
                refreshAreas(2, parseInt($(this).val()));
            });
    })

function checkReadMe() {
    if ($("#readme").attr("checked") == true) {
        $("#protocol_error").removeClass().addClass("error hide");
        return true;
    } else {
        $("#protocol_error").removeClass().addClass("error");
        return false;
    }
}

function agreeonProtocol() {
    if ($("#readme").attr("checked") == true) {
        $("#protocol_error").removeClass().addClass("error hide");
        return true;
    }
}


posted @ 2014-04-23 13:38  sony静  阅读(2138)  评论(0编辑  收藏  举报