// 判断一数据是否是 Object 类型
export const isObject = object =>
Object.prototype.toString.call(object) === "[object Object]";
// 用户名检测(4到16位(字母,数字,下划线,减号))
export const checkName = name => {
const pattern = /^[a-zA-Z0-9_-]{4,16}$/;
return pattern.test(name);
};
// 身份证号检测
export const checkIdCard = num => {
const idCard = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
return idCard.test(num);
};
// 手机号检测
export const checkPhone = phoneNumber => {
// 检测手机号的正则表达式
const phoneRegExp = /((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,1,3,5-8])|(18[0-9])|166|198|199|(147))\d{8}/;
return String(phoneNumber).length === 11 && phoneRegExp.test(phoneNumber);
};
// 邮箱检测
export const checkEmail = email => {
const pattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
return pattern.test(email);
};
/**
* 本地版本 大于或等于 线上版本
*
* @param {*} localVersion 本地版本
* @param {*} onlineVersion 线上版本
* @results: 0、版本相同;1、本地版本大于线上版本;-1、线上版本大于本地版本
*/
export const judgeVersion = (localVersion, onlineVersion) => {
if (localVersion === onlineVersion) return 0;
const _localVersion = localVersion.split(".");
const _onlineVersion = onlineVersion.split(".");
const len = Math.min(_localVersion.length, _onlineVersion.length);
for (let i = 0; i < len; i++) {
if (parseInt(_localVersion[i], 10) > parseInt(_onlineVersion[i], 10))
return 1;
if (parseInt(_localVersion[i], 10) < parseInt(_onlineVersion[i], 10))
return -1;
}
if (_localVersion.length > _onlineVersion.length) return 1;
if (_localVersion.length < _onlineVersion.length) return -1;
return 0;
};