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'];
方法三:又見正則
通過JS獲取url參數(shù),這個經(jīng)常用到。比如說一個url:http://wwww.dbjr.com.cn/?q=js,我們想得到參數(shù)q的值,那可以通過以下函數(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"));
方法四:單個參數(shù)的獲取方法
function GetRequest() {
var url = location.search; //獲取url中"?"符后的字串
if (url.indexOf("?") != -1) { //判斷是否有參數(shù)
var str = url.substr(1); //從第一個字符開始 因為第0個是?號 獲取所有除問號的所有符串
strs = str.split("="); //用等號進(jìn)行分隔 (因為知道只有一個參數(shù) 所以直接用等號進(jìn)分隔 如果有多個參數(shù) 要用&號分隔 再用等號進(jìn)行分隔)
alert(strs[1]); //直接彈出第一個參數(shù) (如果有多個參數(shù) 還要進(jìn)行循環(huán)的)
}
}
相關(guān)文章
el-popover放在el-table中點(diǎn)擊無反應(yīng)問題解決方案
我們想在table中給btn加彈框但是?el-popover點(diǎn)擊按鈕沒有任何反應(yīng),解決思路是通過給每個el-popover都加上單獨(dú)的id,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2024-04-04JavaScript 空位補(bǔ)零實(shí)現(xiàn)代碼
JavaScript代碼實(shí)現(xiàn)空位補(bǔ)零2010-02-02JavaScript從數(shù)組的indexOf()深入之Object的Property機(jī)制
這篇文章主要介紹了JavaScript從數(shù)組的indexOf()深入——Object的Property機(jī)制的相關(guān)資料,需要的朋友可以參考下2016-05-05基于js?+?html2canvas實(shí)現(xiàn)網(wǎng)頁放大鏡功能
最近接到任務(wù),需實(shí)現(xiàn)【網(wǎng)頁】放大鏡的效果,百度搜索?【js?放大鏡】關(guān)鍵字,千篇一律的都是一些仿淘寶/京東等電商網(wǎng)站中查看規(guī)格大圖的效果實(shí)現(xiàn),根本無法滿足我的需求,于是自己花了點(diǎn)時間調(diào)研實(shí)現(xiàn),在這里分享給大家,感興趣的朋友可以參考下2023-12-12Openlayers實(shí)現(xiàn)面積測量的方法
在Openlayers中,長度和面積的測量均依賴ol/sphere模塊,長度通過getLength方法計算,面積則通過getArea方法,面積測量不是計算平面面積,而是基于球面,適用于多邊形和多多邊形集合,感興趣的朋友一起看看吧2024-11-11JavaScript如何實(shí)現(xiàn)在文本框(密碼框)輸入提示語
為了更好的達(dá)到用戶體驗度,我們在登錄表單時會有一些提示語言,比如說:“請輸入用戶名”和“請輸入密碼”等語言,下面小編通過本篇文章給大家分享JavaScript如何實(shí)現(xiàn)在密碼框中出現(xiàn)提示語,對js密碼框提示語相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2015-12-12