获取url 路径中的协议、域名、端口、相对文件夹地址、参数及相关对象

背景

项目中总需要到解析路径的参数,或者对当前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 的属性及方法》》》》》和本文关联
如果我的随笔对你有帮助记得关注我给个喜欢已表支持,我会一直加油的(注:如需转载,请注明来源)

你可能感兴趣的:(获取url 路径中的协议、域名、端口、相对文件夹地址、参数及相关对象)