JS獲取URL中參數(shù)值(QueryString)的4種方法分享
方法一:正則法
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
}
return null;
}
// 這樣調(diào)用:
alert(GetQueryString("參數(shù)名1"));
alert(GetQueryString("參數(shù)名2"));
alert(GetQueryString("參數(shù)名3"));
方法二:split拆分法
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]] = unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
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'];
方法三:又見(jiàn)正則
通過(guò)JS獲取url參數(shù),這個(gè)經(jīng)常用到。比如說(shuō)一個(gè)url:http://wwww.dbjr.com.cn/?q=js,我們想得到參數(shù)q的值,那可以通過(guò)以下函數(shù)調(diào)用即可。
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg); //獲取url中"?"符后的字符串并正則匹配
var context = "";
if (r != null)
context = r[2];
reg = null;
r = null;
return context == null || context == "" || context == "undefined" ? "" : context;
}
alert(GetQueryString("q"));
方法四:?jiǎn)蝹€(gè)參數(shù)的獲取方法
function GetRequest() {
var url = location.search; //獲取url中"?"符后的字串
if (url.indexOf("?") != -1) { //判斷是否有參數(shù)
var str = url.substr(1); //從第一個(gè)字符開(kāi)始 因?yàn)榈?個(gè)是?號(hào) 獲取所有除問(wèn)號(hào)的所有符串
strs = str.split("="); //用等號(hào)進(jìn)行分隔 (因?yàn)橹乐挥幸粋€(gè)參數(shù) 所以直接用等號(hào)進(jìn)分隔 如果有多個(gè)參數(shù) 要用&號(hào)分隔 再用等號(hào)進(jìn)行分隔)
alert(strs[1]); //直接彈出第一個(gè)參數(shù) (如果有多個(gè)參數(shù) 還要進(jìn)行循環(huán)的)
}
}
相關(guān)文章
el-popover放在el-table中點(diǎn)擊無(wú)反應(yīng)問(wèn)題解決方案
我們想在table中給btn加彈框但是?el-popover點(diǎn)擊按鈕沒(méi)有任何反應(yīng),解決思路是通過(guò)給每個(gè)el-popover都加上單獨(dú)的id,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2024-04-04JavaScript 空位補(bǔ)零實(shí)現(xiàn)代碼
JavaScript代碼實(shí)現(xiàn)空位補(bǔ)零2010-02-02原生JS實(shí)現(xiàn)的簡(jiǎn)單小鐘表功能示例
這篇文章主要介紹了原生JS實(shí)現(xiàn)的簡(jiǎn)單小鐘表功能,涉及javascript結(jié)合定時(shí)器的數(shù)值運(yùn)算與頁(yè)面元素屬性動(dòng)態(tài)修改相關(guān)操作技巧,需要的朋友可以參考下2018-08-08JavaScript從數(shù)組的indexOf()深入之Object的Property機(jī)制
這篇文章主要介紹了JavaScript從數(shù)組的indexOf()深入——Object的Property機(jī)制的相關(guān)資料,需要的朋友可以參考下2016-05-05基于js?+?html2canvas實(shí)現(xiàn)網(wǎng)頁(yè)放大鏡功能
最近接到任務(wù),需實(shí)現(xiàn)【網(wǎng)頁(yè)】放大鏡的效果,百度搜索?【js?放大鏡】關(guān)鍵字,千篇一律的都是一些仿淘寶/京東等電商網(wǎng)站中查看規(guī)格大圖的效果實(shí)現(xiàn),根本無(wú)法滿足我的需求,于是自己花了點(diǎn)時(shí)間調(diào)研實(shí)現(xiàn),在這里分享給大家,感興趣的朋友可以參考下2023-12-12Openlayers實(shí)現(xiàn)面積測(cè)量的方法
在Openlayers中,長(zhǎng)度和面積的測(cè)量均依賴ol/sphere模塊,長(zhǎng)度通過(guò)getLength方法計(jì)算,面積則通過(guò)getArea方法,面積測(cè)量不是計(jì)算平面面積,而是基于球面,適用于多邊形和多多邊形集合,感興趣的朋友一起看看吧2024-11-11JavaScript如何實(shí)現(xiàn)在文本框(密碼框)輸入提示語(yǔ)
為了更好的達(dá)到用戶體驗(yàn)度,我們?cè)诘卿洷韱螘r(shí)會(huì)有一些提示語(yǔ)言,比如說(shuō):“請(qǐng)輸入用戶名”和“請(qǐng)輸入密碼”等語(yǔ)言,下面小編通過(guò)本篇文章給大家分享JavaScript如何實(shí)現(xiàn)在密碼框中出現(xiàn)提示語(yǔ),對(duì)js密碼框提示語(yǔ)相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2015-12-12使用svg實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘效果
這篇文章主要為大家詳細(xì)介紹了如何使用svg實(shí)現(xiàn)動(dòng)態(tài)時(shí)鐘效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07