JS根據(jù)key值獲取URL中的參數(shù)值及把URL的參數(shù)轉(zhuǎn)換成json對(duì)象
不廢話了,直接貼代碼了,通過(guò)示例一講解JS根據(jù)key值獲取URL中的參數(shù)值及把URL的參數(shù)轉(zhuǎn)換成json對(duì)象,示例二講解js獲取url傳遞參數(shù),具體內(nèi)容請(qǐng)看下文
示例一:
//把url的參數(shù)部分轉(zhuǎn)化成json對(duì)象
parseQueryString: function (url) {
var reg_url = /^[^\?]+\?([\w\W]+)$/,
reg_para = /([^&=]+)=([\w\W]*?)(&|$|#)/g,
arr_url = reg_url.exec(url),
ret = {};
if (arr_url && arr_url[1]) {
var str_para = arr_url[1], result;
while ((result = reg_para.exec(str_para)) != null) {
ret[result[1]] = result[2];
}
}
return ret;
}
// 通過(guò)key獲取url中的參數(shù)值
getQueryString: function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
示例二:
js通過(guò)兩種方法獲取url傳遞參數(shù):
js獲取url傳遞參數(shù)方法一:
這里是一個(gè)獲取URL帶QUESTRING參數(shù)的JAVASCRIPT客戶端解決方案,相當(dāng)于asp的request.querystring,PHP的$_GET
函數(shù):
<Script language="javascript">
function GetRequest() {
var url = location.search; //獲取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
}
}
return theRequest;
}
</Script>
然后我們通過(guò)調(diào)用此函數(shù)獲取對(duì)應(yīng)參數(shù)值:
<Script language="javascript"> var Request = new Object(); Request = GetRequest(); var 參數(shù)1,參數(shù)2,參數(shù)3,參數(shù)N; 參數(shù)1 = Request[''參數(shù)1'']; 參數(shù)2 = Request[''參數(shù)2'']; 參數(shù)3 = Request[''參數(shù)3'']; 參數(shù)N = Request[''參數(shù)N'']; </Script>
以此獲取url串中所帶的同名參數(shù)
js獲取url傳遞參數(shù)方法二 正則分析法:
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return (r[2]); return null;
}
alert(GetQueryString("參數(shù)名1"));
alert(GetQueryString("參數(shù)名2"));
alert(GetQueryString("參數(shù)名3"));
其他參數(shù)獲取介紹:
//設(shè)置或獲取對(duì)象指定的文件名或路徑。
alert(window.location.pathname);
//設(shè)置或獲取整個(gè) URL 為字符串。
alert(window.location.href);
//設(shè)置或獲取與 URL 關(guān)聯(lián)的端口號(hào)碼。
alert(window.location.port);
//設(shè)置或獲取 URL 的協(xié)議部分。
alert(window.location.protocol);
//設(shè)置或獲取 href 屬性中在井號(hào)“#”后面的分段。
alert(window.location.hash);
//設(shè)置或獲取 location 或 URL 的 hostname 和 port 號(hào)碼。
alert(window.location.host);
//設(shè)置或獲取 href 屬性中跟在問(wèn)號(hào)后面的部分。
alert(window.location.search);
以上內(nèi)容介紹了JS根據(jù)key值獲取URL中的參數(shù)值及把URL的參數(shù)轉(zhuǎn)換成json對(duì)象,js通過(guò)兩種方式獲取url傳遞參數(shù),代碼
非常簡(jiǎn)單,希望對(duì)大家有所幫助。
相關(guān)文章
利用百度echarts實(shí)現(xiàn)圖表功能簡(jiǎn)單入門(mén)示例【附源碼下載】
這篇文章主要介紹了利用百度echarts實(shí)現(xiàn)圖表功能簡(jiǎn)單,結(jié)合簡(jiǎn)單示例形式分析了echarts插件的圖標(biāo)繪制功能相關(guān)實(shí)現(xiàn)技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下2019-06-06
uni-app 項(xiàng)目中 “文件查找失?。骸甤rypto-js‘“ 的問(wèn)題及解決方法
在開(kāi)發(fā)使用 uni-app 框架的項(xiàng)目時(shí),遇到依賴問(wèn)題是常見(jiàn)的,本文將介紹如何解決編譯過(guò)程中出現(xiàn)的 “文件查找失敗:‘crypto-js’” 錯(cuò)誤,并說(shuō)明這種錯(cuò)誤為什么會(huì)發(fā)生以及如何避免,下面分步驟給大家?guī)?lái)解決方案,感興趣的朋友一起看看吧2024-07-07
C#程序員入門(mén)學(xué)習(xí)微信小程序的筆記
這篇文章主要給大家分享了一位C#程序員入門(mén)學(xué)習(xí)微信小程序的筆記,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
layui 地區(qū)三級(jí)聯(lián)動(dòng) form select 渲染的實(shí)例
今天小編就為大家分享一篇layui 地區(qū)三級(jí)聯(lián)動(dòng) form select 渲染的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
JS防抖節(jié)流函數(shù)的實(shí)現(xiàn)與使用場(chǎng)景
在行走江湖的過(guò)程中,會(huì)出現(xiàn)很多性能優(yōu)化的問(wèn)題來(lái)讓你手足無(wú)措,那么這篇文章主要給大家介紹了關(guān)于JS防抖節(jié)流函數(shù)的實(shí)現(xiàn)與使用場(chǎng)景,針對(duì)這兩個(gè)問(wèn)題來(lái)為你答疑解惑,需要的朋友可以參考下2021-07-07

