失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > JS--获取当前域名 端口号 url 参数--方法/实例

JS--获取当前域名 端口号 url 参数--方法/实例

时间:2019-01-14 15:44:12

相关推荐

JS--获取当前域名 端口号 url 参数--方法/实例

原文网址:JS--获取当前域名、端口号、url、参数--方法/实例_IT利刃出鞘的博客-CSDN博客

简介

说明

本文用示例介绍如何使用JavaScript获取当前页面的这些数据:域名、端口号、Url、相对路径和参数、指定参数。

测试方法

本文用此网址来测试:https://knife./article/details/121482997?ab=12&cde=345

访问之后,在浏览器里使用Console来测试:

location的属性

windows.location有如下属性,可以通过windows.location.xxx获取。

获取当前域名

法1:window.location.host

var domain = window.location.host;console.log(domain);

结果:knife.

法2:document.domain

var domain = document.domain;console.log(domain);

结果:

获取端口号

法1:window.location.port

var port = window.location.port;console.log(port);

结果:undefined

本处是域名网址,所以没有端口号

获取url

有如下四种方式,获得的都是整个url。

window.location.hrefself.location.hrefdocument.URLdocument.location.href

例:

var url = window.location.href;console.log(url);

结果:https://knife./article/details/121482997?ab=12&cde=345

获取域名+端口+路由

window.location.href; 获取的url会把?后面的参数也带过去,如果不需要后面的参数,可以这样处理:

let routerIndex = window.location.href.indexOf('?');let url = window.location.href.slice(0, routerIndex > 0 ? routerIndex : window.location.href.length);console.log(url);

结果:https://knife./article/details/121482997

获取相对路径

首先获取 Url,然后把 Url 通过 // 截成两部分,再从后一部分中截取相对路径。如果截取到的相对路径中有参数,则把参数去掉。

function getUrlRelativePath(){var url = document.location.toString();var arrUrl = url.split("//");var start = arrUrl[1].indexOf("/");var relUrl = arrUrl[1].substring(start);//stop省略,截取从start开始到结尾的所有字符if(relUrl.indexOf("?") != -1){relUrl = relUrl.split("?")[0];}return relUrl;}

调用方法:getUrlRelativePath();

结果:/article/details/121482997

获取参数

法1:正则表达式

function getQueryString(name) {var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');var result = window.location.search.substr(1).match(reg);if (result != null) {return unescape(result[2]);}return null;}getQueryString('ab');

结果:12

法2: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;}console.log(getRequest()['ab']);

结果:12

如果觉得《JS--获取当前域名 端口号 url 参数--方法/实例》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。