// 验证手机号
export function checkMobile(str) {
    const regMobile = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
    return regMobile.test(str);
}
// 验证座机号
export function checkPhone(str) {
    const isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
    return isPhone.test(str);
}
// 手机号中间四位变成 *
export function telFormat(tel) {
    tel = String(tel);
    return `${tel.substr(0, 3)}****${tel.substr(7)}`;
}

// 验证身份证
export function isIdCard(str) {
    const reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    return reg.test(str);
}

// 验证名字
export function isChineseName(str) {
    const reg = /^[\u4E00-\u9FA5]{2,4}$/;
    return reg.test(str);
}
// 验证邮箱
export function checkEmail(str) {
    const reg = /^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g;
    return reg.test(str);
}

// 验证网址是否有效
export function validURL(url) {
    const reg =
        /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;
    return reg.test(url);
}
// 验证url是否是http或https
export function isHttp(url) {
    return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1;
}

// 验证path是否为外链
export function isExternal(path) {
    return /^(https?:|mailto:|tel:)/.test(path);
}

// 验证参数是否为数组
export function isArray(arg) {
    if (typeof Array.isArray === 'undefined') {
        return Object.prototype.toString.call(arg) === '[object Array]';
    }
    return Array.isArray(arg);
}
// 验证参数是否为字符串类型
export function isString(str) {
    if (typeof str === 'string' || str instanceof String) {
        return true;
    }
    return false;
}

// 验证一个字符串是否只包含小写字母
export function validLowerCase(str) {
    const reg = /^[a-z]+$/;
    return reg.test(str);
}
// 验证一个字符串是否只包含大写字母
export function validUpperCase(str) {
    const reg = /^[A-Z]+$/;
    return reg.test(str);
}
// 验证一个字符串是否只包含英文字母
export function validAlphabets(str) {
    const reg = /^[A-Za-z]+$/;
    return reg.test(str);
}
