js获取当前域名、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参数的方法

function GetQueryString(name)
{var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //这个正则是寻找&+url参数名字=值+&&可以不存在。var r = window.location.search.substr(1).match(reg);//search,查询?后面的参数,并匹配正则if(r!=null)return unescape(r[2]); return null;}// 调用方法
alert(GetQueryString("参数名1"));alert(GetQueryString("参数名2"));
调用方法:GetQueryString("id");
举例说明:
假如当网页的网址有这样的参数 test.htm?id=896&s=q&p=5,则调用 GetUrlParam("p"),返回 5。
通过正则表达式获取标准url地址的域名和文件后缀名
形如“http://www.abcdef.com/index.php”或“http://www.abcdef.com/index.php?g=Index&m=Index&a=index”的地址即为标准的url地址,现在我们要通过正则式来获取它的域名“abcdef.com”和地址中的文件后缀名“.php”。
1、获取url地址域名:
$url = "http://www.abcdef.com/index.php";// $url = "http://www.abcdef.com/index.php?g=Index&m=Index&a=index";preg_match("/^(\w+:\/\/)?([^\/]+)/i", $url , $matches);// 获得主机名$host = $matches[2];// 从主机名中取得后面两段(.符号将主机名划分为三段,后两段即为域名)preg_match("/[^.\/]+\.[^.\/]+$/", $host, $matches);echo "$matches[0]";?>
结果为:abcdef.com
2、获取url中的文件后缀名:
当url不带参数时,此时匹配的正则式为:"/\.(\w+)$/";当url带参数时,此时匹配的正则式为:"/\.(\w+)\?/"(注意此时文件后缀名后还带着个问号)。
将这两种情况合并,可编写出获得文件后缀名的php代码:
// $url = "http://www.abcdef.com/index.php";$url = "http://www.abcdef.com/index.php?g=Index&m=Index&a=index";//获得url地址文件后缀名(可能包含问号?)preg_match("/(\.(\w+)\?)|(\.(\w+)$)/",$url,$str);//去除问号$suffix = preg_split("/\?/",$str[0]);echo $suffix[0];?>
结果为:.php
正则表达式从URL获取文件名
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
