下面我们举例一个URL,然后获得它的各个组成部分:http://localhost:8000/#/index/cardinfo?_k=0wnq36
1、window.location.href(设置或获取整个 URL 为字符串)
var integrityurl = window.location.href;
console.log(integrityurl);返回:http://localhost:8000/#/index/cardinfo?_k=0wnq362、window.location.protocol(设置或获取 URL 的协议部分)
var example = window.location.protocol;
console.log(example);返回:http:3、window.location.host(设置或获取 URL 的主机部分)
var example = window.location.host;
console.log(example);返回:localhost:80004、window.location.port(设置或获取与 URL 关联的端口号码)
var example = window.location.port;
console.log(example);返回:8000(如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符) 例如:url 为这个类型的时候:https://i.cnblogs.com/EditPosts.aspx?opt=1 返回:空字符5、window.location.pathname(设置或获取与 URL 的路径部分(就是文件地址))var example = window.location.pathname;
console.log(example);返回:/(获取的是域名后的第一个 “/” 与 “ / ”后面内容)例如:url 为这个类型的时候:https://i.cnblogs.com/EditPosts.aspx?opt=1
返回:/EditPosts.aspx6、window.location.search(设置或获取 href 属性中跟在问号后面的部分)
var example = window.location.search;
console.log(example);返回:?_k=0wnq36PS:获得查询(参数)部分,除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值。
7、window.location.hash(设置或获取 href 属性中在井号“#”后面的分段)
var example = window.location.hash;
console.log(example);返回:空字符(因为url中没有)8、js获取url中的参数值
8.1、正则取参
function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r != null) { //return unescape(r[2]); return r[2]; } return null;} //例 console.log(getUrlParam('name'));
8.2、split拆分取参
function getUrlParam() { 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 = getUrlParam(); // var id=Request["id"]; // var 参数1,参数2,参数3,参数N;// 参数1 = Request['参数1'];// 参数2 = Request['参数2'];// 参数3 = Request['参数3'];// 参数N = Request['参数N'];