背景
项目中总需要到解析路径的参数,或者对当前url做一些操作,那么如下我整理了一些大家会用的到的方法,方便方便大家开发
代码
// 获取完整url
window.location.href
// 获取协议
window.location.protocol
// 获取主机名
window.location.hostname
// 获取主机名加端口号
window.location.host
// 获取端口号
window.location.port
// 获取当前url的路径部分
window.location.pathname
// 获取url添加参数的路径(?后面的部分,包含?)
window.location.search
// 获取#开始的地方
window.location.hash
// 获取路径具体的相关参数
(正则)
function getQuery(name,url) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
var r = url ? url : window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
}
return r != null ? unescape(r[2]) : '';
}
// 使用方式getQuery("参数名")或 getQuery("参数名","路径")
(split拆分)
function GetRequest() {
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
var Request = new Object();
Request = GetRequest();
// var id=Request["id"];
// var 参数1,参数2,参数3,参数N;
// 参数1 = Request['参数1'];
// 参数2 = Request['参数2'];
// 参数3 = Request['参数3'];
// 参数N = Request['参数N'];
拓展
关于window 对象的一些相关属性
关于location 的属性及方法》》》》》和本文关联
如果我的随笔对你有帮助记得关注我给个喜欢已表支持,我会一直加油的(注:如需转载,请注明来源)