判断用户userAgent
let u = navigator.userAgent;
let isiOS = /iPad|iPhone|iPod/i.test(u);
let isAndroid = !isiOS;
let isBiliApp = /BiliApp/i.test(u);
let isWeiXin = /MicroMessenger/i.test(u) && u.toLowerCase().indexOf('wxwork') === -1;
let isQQ = u.match(/\sQQ/i) !== null;
let isAlipay = /Alipay/i.test(u) && u.toLowerCase().indexOf('alipay') > 0;
let isMobile = true;
if (u && u.toLowerCase().indexOf('mobile') === -1) {
isMobile = false;
} else if (u && u.toLowerCase().indexOf('ipad') > -1) {
isMobile = false;
}
设置浏览器cookie
function setCookie(key, value, exp = null) {
if (exp && exp instanceof Date) {
document.cookie = key + "=" + escape(value) + ";expires=" + exp.toGMTString();
} else {
document.cookie = key + "=" + escape(value);
}
}
获取浏览器cookie
function getCookie(key) {
let search = key + "=",
returnvalue = "";
if (document.cookie.length > 0) {
let start = document.cookie.indexOf(search);
if (start != -1) {
start += search.length;
let end = document.cookie.indexOf(";", start);
if (end == -1)
end = document.cookie.length;
returnvalue = unescape(document.cookie.substring(start, end))
}
}
return returnvalue;
}
获取url参数
getQueryString(name) {
var reg = new RegExp('(^|&|#|\\?)' + name + '=([^&]*)(@|&|$)', 'i');
let r = location.hash.match(reg);
return r == null ? null : decodeURIComponent(r[2]);
},
克隆一个对象、数组、或基本数据类型
let clone = (obj) => {
var o;
if (typeof obj === 'object') {
if (obj === null) {
o = null;
} else {
if (obj instanceof Array) {
o = [];
for (var i = 0, len = obj.length; i < len; i++) {
o.push(clone(obj[i]));
}
}
else {
o = {};
for (var j in obj) {
o[j] = clone(obj[j]);
}
}
}
} else {
o = obj;
}
return o;
};
获取n天前的日期
getDateBefore(AddDayCount) {
var dd = new Date();
dd.setDate(dd.getDate() - AddDayCount);
var y = dd.getFullYear();
var m = dd.getMonth() < 10 ? '0' + dd.getMonth() : dd.getMonth();
var d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate();
return {
year: y,
month: m,
day: d
};
},
格式化Date格式时间(2019-06-26 00:00:00)
formatDate(date) {
date.setMinutes(date.getMinutes() - date.getTimezoneOffset());
return date.toJSON().slice(0, 10);
},
formatMonth(month) {
month.setMinutes(month.getMinutes() - month.getTimezoneOffset());
return month.toJSON().slice(0, 7);
},
formatDateWithSecond(time) {
let date = new Date(time.toString());
date.setMinutes(date.getMinutes() - date.getTimezoneOffset());
return date.toJSON().slice(0, 10) + ' ' + date.toJSON().slice(11, 19);
},