扩展JS validate

if ($.validator) {
    //验证手机号码
    $.validator.addMethod("phone", function (value, element, params) {
        return /^(1)[0-9]{10}$/.test(value);
    }, "请输入有效的手机号码");

    //验证密码格式
    $.validator.addMethod("pwdCheck", function (value, element, params) {
        return /^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z])[A-Za-z0-9]{8,32}$/.test(value);
    }, "密码格式错误");

    //验证密码格式-选填
    $.validator.addMethod("pwdCheckOptional", function (value, element, params) {
        return /^$|(^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,32})$/.test(value);
    }, "密码格式为6-32位数字字母组合");

    //验证币数量格式-选填
    $.validator.addMethod("coinAmount", function (value, element, params) {
        return /^\d{1,9}(.\d{1,6})?$/.test(value);
    }, "支持整数9位,小数点后6位");

    //验证URL地址
    $.validator.addMethod("uri", function (value, element, params) {
        var invokeType = $('input[name="invokeType"]:checked').val();
        if (invokeType == 'URL') {
            return /^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);
        }
        if (invokeType == 'DUBBO') {
            return value.indexOf('#') > 0 && value.indexOf('#') < value.length - 1;
        }
    }, "URI地址格式错误");

    //验证理财产品年化率
    $.validator.addMethod("rateCheck", function (value, element, params) {
        return value >= 0 && value < 1;
    }, "年华收益格式错误");

    //验证邮箱,自带的有问题
    $.validator.addMethod("emailCheck", function (value, element, params) {
        return /^()?([0-9a-zA-Z_][_.0-9a-zA-Z-]{0,31}@([0-9a-zA-Z][0-9a-zA-Z-]{0,30}\.){1,4}[a-zA-Z]{2,4})?$/.test(value);
    }, "邮箱格式错误");

    //金额格式-选填
    $.validator.addMethod("decimal", function (value, element, params) {
        return /^\d+(?:\.\d{1,10})?$/.test(value);
    }, "格式错误,整数或十位小数");

    //金额格式
    $.validator.addMethod("money", function (value, element, params) {
        return value >= 0;
    }, "金额格式错误");

    //大于开始时间
    $.validator.addMethod("greaterThanDate", function (value, element, params) {
        return value > $(params).val();
    }, "结束时间必须大于开始时间");

    //大于最小额度
    $.validator.addMethod("greaterThanAmount", function (value, element, params) {
        return parseFloat(value) >= parseFloat($(params).val());
    }, "最大额度必须大于最小额度");
}
相关文章
相关标签/搜索