/**
 * 规则验证工具类
 * @author cls
 * @date 2021-01-30
 * import { RuleUtil } from "@birt/funclib/RuleUtil"
 */

export const RuleUtil = {
    /**
     * showdoc
     * @catalog JS工具类/RuleUtil
     * @title 是否手机号
     * @description 正则验证是否手机号码
     * @method static
     * @url FlowUtil.isPhone(rule, value, callback)
     * @param rule 规则
     * @param value 验证值
     * @param callback 验证回调
     * @return callback()
     */
    isPhone(rule, value, callback) {
        const reg = /^[1][3,4,5,7,8][0-9]{9}$/;
        if (value == '' || value == undefined || value == null) {
            callback();
        } else {
            if ((!reg.test(value)) && value != '') {
                callback(new Error('请输入正确的电话号码'));
            } else {
                callback();
            }
        }
    },
    /* 是否邮箱*/
    isEmail(rule, value, callback) {
        const reg = /^([a-zA-Z0-9]+[-_\.]?)+@[a-zA-Z0-9]+\.[a-z]+$/;
        if (value == '' || value == undefined || value == null) {
            callback();
        } else {
            if (!reg.test(value)) {
                callback(new Error('请输入正确的邮箱地址'));
            } else {
                callback();
            }
        }
    },
    /* 身份证号验证*/
    isIdCard(rule, value, callback) {
        const reg = /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
        if (value == '' || value == undefined || value == null) {
            callback();
        } else {
            if (!reg.test(value)) {
                callback(new Error('请输入正确的身份证号'));
            } else {
                callback();
            }
        }
    }
};
