一、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地址域名:
<?php
$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代碼:
<?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