用JS獲取地址欄參數(shù)的方法

方法一:采用正則表達式獲取地址欄參數(shù):(?強烈推薦寞酿,既實用又方便@⒌)

functionGetQueryString(name)

{

varreg

=newRegExp("(^|&)"+

name +"=([^&]*)(&|$)");

varr

= window.location.search.substr(1).match(reg);

if(r!=null)returnunescape(r[2]);returnnull;

}

functionGetQueryString1(name)

{

varreg

=newRegExp("(^|&)"+

name +"=([^&]*)(&|$)");

varr

= window.location.hash.substr(1).match(reg);

if(r!=null)returnunescape(r[2]);returnnull;

}

//

調(diào)用方法

alert(GetQueryString("參數(shù)名1"));

下面舉兩個例子:

1辜窑、若地址欄URL為:abc.html?id=123&url=http://www.maidq.com

那么恨统,但你用上面的方法去調(diào)用:alert(GetQueryString("url"));

則會彈出一個對話框:內(nèi)容就是http://www.maidq.com

如果用:alert(GetQueryString("id"));那么彈出的內(nèi)容就是 123 啦头岔;

2古戴、若地址欄URL為:abc.html#id=321&url=http://www.baidu.com

那么掰盘,但你用上面的方法去調(diào)用:alert(GetQueryString1("url"));

則會彈出一個對話框:內(nèi)容就是http://www.baidu.com

如果用:alert(GetQueryString1("id"));那么彈出的內(nèi)容就是321 啦摄悯;

當然如果你沒有傳參數(shù)的話,比如你的地址是 abc.html 后面沒有參數(shù)愧捕,那強行輸出調(diào)用結(jié)果有的時候會報錯:

所以我們要加一個判斷 奢驯,判斷我們請求的參數(shù)是否為空,首先把值賦給一個變量:

varmyurl=GetQueryString("url");

if(myurl

!=null&&

myurl.toString().length>1)

{

alert(GetQueryString("url"));

}

這樣就不會報錯了次绘!

方法二:傳統(tǒng)方法

function UrlSearch()

{

var name,value;

var str=location.href; //取得整個地址欄

var num=str.indexOf("?")

str=str.substr(num+1); //取得所有參數(shù)stringvar.substr(start[,length]

var arr=str.split("&"); //各個參數(shù)放到數(shù)組里

for(var i=0;i < arr.length;i++){

num=arr[i].indexOf("=");

if(num>0){

name=arr[i].substring(0,num);

value=arr[i].substr(num+1);

this[name]=value;

}

}

}

var Request=new UrlSearch(); //實例化

alert(Request.id);

比如說把這個代碼存為1.html

那么我要訪問1.html?id=test

這個時候就取到test的值了

在html里調(diào)用

var a="http://baidu.com";

sadfsdfas

var a1=document.getElementById("a1");

a1.href=a;

var a="http://xxx.com/gg.htm?cctv";

var s=a.indexOf("?");

var t=a.substring(s+1);// t就是?后面的東西了

stringvar.substr(start[,length]

返回一個從指定位置開始的指定長度的子字符串瘪阁。

stringvar

必選項。要提取子字符串的字符串文字或 String 對象邮偎。

start

必選項管跺。所需的子字符串的起始位置。字符串中的第一個字符的索引為 0禾进。

length

可選項豁跑。在返回的子字符串中應包括的字符個數(shù)。

如果 length 為 0 或負數(shù)泻云,將返回一個空字符串艇拍。如果沒有指定該參數(shù),則子字符串將延續(xù)到 stringvar 的最后宠纯。

下面列舉出一些相關(guān)的參數(shù):

str.toLowerCase()?? 轉(zhuǎn)換成小寫

str.toUpperCase()?? 字符串全部轉(zhuǎn)換成大寫

URL即:統(tǒng)一資源定位符 (Uniform Resource Locator, URL)

完整的URL由這幾個部分構(gòu)成:

scheme://host:port/path?query#fragment

scheme:通信協(xié)議

常用的http,ftp,maito等

host:主機

服務器(計算機)域名系統(tǒng) (DNS) 主機名或 IP 地址卸夕。

port:端口號

整數(shù),可選婆瓜,省略時使用方案的默認端口快集,如http的默認端口為80。

path:路徑

由零或多個"/"符號隔開的字符串廉白,一般用來表示主機上的一個目錄或文件地址个初。

query:查詢

可選,用于給動態(tài)網(wǎng)頁(如使用CGI猴蹂、ISAPI勃黍、PHP/JSP/ASP/ASP.NET等技術(shù)制作的網(wǎng)頁)傳遞參數(shù),可有多個參數(shù)晕讲,用"&"符號隔開覆获,每個參數(shù)的名和值用"="符號隔開。

fragment:信息片斷

字符串瓢省,用于指定網(wǎng)絡資源中的片斷弄息。例如一個網(wǎng)頁中有多個名詞解釋,可使用fragment直接定位到某一名詞解釋勤婚。(也稱為錨點.)

對于這樣一個URL

http://www.maidq.com/index.html?ver=1.0&id=6#imhere

我們可以用javascript獲得其中的各個部分

1, window.location.href

整個URl字符串(在瀏覽器中就是完整的地址欄)

本例返回值:http://www.maidq.com/index.html?ver=1.0&id=6#imhere

2,window.location.protocol

URL 的協(xié)議部分

本例返回值:http:

3,window.location.host

URL 的主機部分

本例返回值:www.maidq.com

4,window.location.port

URL 的端口部分

如果采用默認的80端口(update:即使添加了:80)摹量,那么返回值并不是默認的80而是空字符

本例返回值:""

5,window.location.pathname

URL 的路徑部分(就是文件地址)

本例返回值:/fisker/post/0703/window.location.html

6,window.location.search

查詢(參數(shù))部分

除了給動態(tài)語言賦值以外,我們同樣可以給靜態(tài)頁面,并使用javascript來獲得相信應的參數(shù)值

本例返回值:?ver=1.0&id=6

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末馒胆,一起剝皮案震驚了整個濱河市缨称,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌祝迂,老刑警劉巖睦尽,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異型雳,居然都是意外死亡当凡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門纠俭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沿量,“玉大人,你說我怎么就攤上這事冤荆∑釉颍” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵钓简,是天一觀的道長乌妒。 經(jīng)常有香客問我,道長涌庭,這世上最難降的妖魔是什么芥被? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮坐榆,結(jié)果婚禮上拴魄,老公的妹妹穿的比我還像新娘。我一直安慰自己席镀,他們只是感情好匹中,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著豪诲,像睡著了一般顶捷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屎篱,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天服赎,我揣著相機與錄音葵蒂,去河邊找鬼。 笑死重虑,一個胖子當著我的面吹牛践付,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播缺厉,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼永高,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了提针?” 一聲冷哼從身側(cè)響起命爬,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎辐脖,沒想到半個月后饲宛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡揖曾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年落萎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片炭剪。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡练链,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出奴拦,到底是詐尸還是另有隱情媒鼓,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布错妖,位于F島的核電站绿鸣,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏暂氯。R本人自食惡果不足惜潮模,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望痴施。 院中可真熱鬧擎厢,春花似錦、人聲如沸辣吃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽神得。三九已至厘惦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間哩簿,已是汗流浹背宵蕉。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工酝静, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人国裳。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓形入,卻偏偏與公主長得像,于是被迫代替她去往敵國和親缝左。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容