一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

js获取url链接中的域名、Url、相对路径和参数的例子

时间:2015-08-28 编辑:简简单单 来源:一聚教程网


用js提取出url中的域名(domain)部分,用split()函数就可以了。

因为一个正确的url必定是由http://或者是https://、domain、路径/参数组成,所以可以用split以/进行分割成数组,取第3部分就是域名了。

代码范例:

var url = 'http://www.111com.net/phper/php.html';
var domain = url.split('/'); //以“/”进行分割
if( domain[2] ) {
    domain = domain[2];
} else {
    domain = ''; //如果url不正确就取空
}

补充:当前域名、Url、相对路径和参数


一、js获取当前域名有2种方法

1、方法一

var domain = document.domain;

 

2、方法二

var domain = window.location.host;

 

3、注意问题

由于获取到的当前域名不包括 http://,所以把获取到的域名赋给 a 标签的 href 时,别忘了加上 http://,否则单击链接时导航会出错。

 

 

二、获取当前Url的4种方法

var url = window.location.href;

var url = self.location.href;

var url = document.URL;

var url = document.location;

ie 地址栏显示的是什么,获取到的 url 就是什么。

 

 

三、获取当前相对路径的方法

首先获取 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();

举例:假如当前 Url 是 http// www. liangshunet. com/pub/item.aspx?t=osw7,则截取到的相对路径为:/pub/item.aspx。

 

四、获取当前Url参数的方法

1、获取Url参数部分

function GetUrlPara()
{
var url = document.location.toString();
var arrUrl = url.split("?");

var para = arrUrl[1];
return para;
}

调用方法:GetUrlPara()

举例:假如当前 Url 是 http// www. liangshunet. com/pub/item.aspx?t=osw7,则截取到的参数部分为:t=osw7。


直接获取 Url 中指定参数的实现过程

 

首先通过 document.location 获得当前访问网页的网址,其次用 split 方法通过“?”把网址分为两部分。如果网址中有参数(arrObj.length > 1);再用 split 方法通过 “&”把每个参数分开;接着用 for 循环检查参数中是否有与要找的参数相同参数,如果有,则返回参数的值;如果没有,继续循环直到找完所有参数。如果网址中没有参数和没有找到参数,都返回空。

 

2、实现代码如下:

//paraName 等找参数的名称
function GetUrlParam(paraName) {
var url = document.location.toString();
var arrObj = url.split("?");

if (arrObj.length > 1) {
var arrPara = arrObj[1].split("&");
var arr;

for (var i = 0; i < arrPara.length; i++) {
arr = arrPara[i].split("=");

if (arr != null && arr[0] == paraName) {
return arr[1];
}
}
return "";
}
else {
return "";
}
}

调用方法:GetUrlParam("id");

举例说明:

假如当网页的网址有这样的参数 test.htm?id=896&s=q&p=5,则调用 GetUrlParam("p"),返回 5。

热门栏目