前端外包-前端外包是一门艺术之JavaScript封装函数列表(二)
45
2019-05-27
url操作
获取单个url参数
getUrlParam: function (name) {
//构造一个含有目标参数的正则表达式对象
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
//匹配目标参数
var r = window.location.search.substr(1).match(reg);
//返回参数值
if (r != null) return decodeURI(r[2]); return null;
}
// 执行
getUrlParam('id');
获取全部url参数(返回数组)
urlGet: function () {
var aQuery = window.location.href.split("?");//取得Get参数
var aGET = {}
if(aQuery.length > 1) {
var aBuf = aQuery[1].split("&");
for(var i=0, iLoop = aBuf.length; i<iLoop; i++) {
var aTmp = aBuf[i].split("=");//分离key与Value
aGET[aTmp[0]] = decodeURI(aTmp[1]);
}
}
return aGET;
}
// 执行
urlGet();
时间操控
格式化秒时间戳
dateFormat: function (date, format) {
date = new Date(date * 1000)
const map = {
'M': date.getMonth() + 1,
'd': date.getDate(),
'h': date.getHours(),
'm': date.getMinutes(),
's': date.getSeconds(),
'q': Math.floor((date.getMonth() + 3) / 3),
'S': date.getMilliseconds()
}
format = format.replace(/([yMdhmsqS])+/g, function (n, i) {
let v = map[i]
if (v !== undefined) {
if (n.length > 1) {
v = '0' + v
v = v.substr(v.length - 2)
}
return v
} else if (i === 'y') {
return (date.getFullYear() + '').substr(4 - n.length)
}
return n
})
return format
}
// 执行
dateFormat(1558423460,'yyyy-MM-dd h:m');