在JavaScript中獲取請(qǐng)求的URL參數(shù)[正則]
更新時(shí)間:2010年12月25日 23:24:06 作者:
在ASP.NET后臺(tái)代碼中,對(duì)于這樣的URL請(qǐng)求地址:http://www.abc.com?id=001,我們可以通過(guò)Request.QueryString["id"]的方法很容易的獲取到URL中請(qǐng)求的參數(shù)的值,但是要在前臺(tái)js代碼中獲取請(qǐng)求的參數(shù)的值,應(yīng)該怎么做呢?
第一種方法:,代碼比較專業(yè) 推薦
<script>
function GetLocationParam(param){
var request = {
QueryString : function(val) {
var uri = window.location.search;
var re = new RegExp("" +val+ "=([^&?]*)", "ig");
return ((uri.match(re))?(decodeURI(uri.match(re)[0].substr(val.length+1))):'');
}
}
return request.QueryString(param);
}
var uid=GetLocationParam("uid");
</script>
第二種方法:
當(dāng)然我們可以在后臺(tái)中獲取參數(shù)的值,然后在前臺(tái)js代碼中獲取變量的值,具體做法請(qǐng)參考我的這篇文章:JavaScript獲取后臺(tái)C#變量以及調(diào)用后臺(tái)方法。
其實(shí)我們也可以直接在js中獲取請(qǐng)求的參數(shù)的值,通過(guò)使用window.location.search可以獲取到當(dāng)前URL的?號(hào)開(kāi)始的字符串,如前面的鏈接獲取到的search為?id=001。再對(duì)獲取的字符串進(jìn)行處理,就可以獲取到參數(shù)的值了。
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null)
return unescape(r[2]);
return null;
}
在調(diào)用上面的方法的時(shí)候,只要傳入?yún)?shù)的名稱,就可以獲取到你想要的參數(shù)的值了,如:getUrlParam("id")。
復(fù)制代碼 代碼如下:
<script>
function GetLocationParam(param){
var request = {
QueryString : function(val) {
var uri = window.location.search;
var re = new RegExp("" +val+ "=([^&?]*)", "ig");
return ((uri.match(re))?(decodeURI(uri.match(re)[0].substr(val.length+1))):'');
}
}
return request.QueryString(param);
}
var uid=GetLocationParam("uid");
</script>
第二種方法:
當(dāng)然我們可以在后臺(tái)中獲取參數(shù)的值,然后在前臺(tái)js代碼中獲取變量的值,具體做法請(qǐng)參考我的這篇文章:JavaScript獲取后臺(tái)C#變量以及調(diào)用后臺(tái)方法。
其實(shí)我們也可以直接在js中獲取請(qǐng)求的參數(shù)的值,通過(guò)使用window.location.search可以獲取到當(dāng)前URL的?號(hào)開(kāi)始的字符串,如前面的鏈接獲取到的search為?id=001。再對(duì)獲取的字符串進(jìn)行處理,就可以獲取到參數(shù)的值了。
復(fù)制代碼 代碼如下:
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null)
return unescape(r[2]);
return null;
}
在調(diào)用上面的方法的時(shí)候,只要傳入?yún)?shù)的名稱,就可以獲取到你想要的參數(shù)的值了,如:getUrlParam("id")。
您可能感興趣的文章:
- JavaScript正則替換HTML標(biāo)簽功能示例
- php正則去除網(wǎng)頁(yè)中所有的html,js,css,注釋的實(shí)現(xiàn)方法
- Java/Js下使用正則表達(dá)式匹配嵌套Html標(biāo)簽
- javascript下一個(gè)還原h(huán)tml代碼的正則
- JS正則表達(dá)式獲取字符串中特定字符的方法
- javascript 獲取url參數(shù)的正則表達(dá)式(用來(lái)獲取某個(gè)參數(shù)值)
- Javascript 獲取鏈接(url)參數(shù)的方法[正則與截取字符串]
- node.js正則表達(dá)式獲取網(wǎng)頁(yè)中所有鏈接的代碼實(shí)例
- JS獲取網(wǎng)址中指定值的正則函數(shù)
- JavaScript中使用正則匹配多條,且獲取每條中的分組數(shù)據(jù)
- javascript 獲取鏈接文件地址中第一個(gè)斜線內(nèi)的正則表達(dá)式
- javascript使用正則獲取url上的某個(gè)參數(shù)
- JS正則獲取HTML元素的方法
相關(guān)文章
javascript實(shí)現(xiàn)圣旨卷軸展開(kāi)效果(代碼分享)
本文主要介紹了javascript實(shí)現(xiàn)圣旨卷軸展開(kāi)效果的示例代碼。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03關(guān)于JavaScript中的this指向問(wèn)題總結(jié)篇
在小編面試過(guò)程中經(jīng)常會(huì)遇到j(luò)avascript中this指向問(wèn)題,可以說(shuō)是前端面試必問(wèn),下面小編給大家總結(jié)了一下js中this的指向,感興趣的朋友一起學(xué)習(xí)吧2017-07-07js簡(jiǎn)單實(shí)現(xiàn)自動(dòng)生成表格功能示例
這篇文章主要介紹了js簡(jiǎn)單實(shí)現(xiàn)自動(dòng)生成表格功能,結(jié)合實(shí)例形式分析了JavaScript針對(duì)數(shù)組元素遍歷與頁(yè)面元素動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2020-06-06JS中的回調(diào)函數(shù)(callback)講解
回調(diào)函數(shù)是一段可執(zhí)行的代碼段,它作為一個(gè)參數(shù)傳遞給其他的代碼,其作用是在需要的時(shí)候方便調(diào)用這段(回調(diào)函數(shù))代碼,這篇文章主要介紹了JS中的?回調(diào)函數(shù)(callback),需要的朋友可以參考下2022-12-12JavaScript中通用的jquery動(dòng)畫(huà)滾屏實(shí)例
這篇文章主要介紹了JavaScript中通用的jquery動(dòng)畫(huà)滾屏實(shí)例,本文通過(guò)實(shí)際代碼來(lái)詳解實(shí)現(xiàn)方法,需要的朋友可以參考一下2022-07-07javascript獲取所有同類checkbox選項(xiàng)(實(shí)例代碼)
javascript獲取所有同類checkbox選項(xiàng)的簡(jiǎn)單實(shí)例。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-11-11JavaScript生成指定范圍隨機(jī)數(shù)和隨機(jī)序列的方法
這篇文章主要介紹了JavaScript生成指定范圍隨機(jī)數(shù)和隨機(jī)序列,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-05-05