4種在JavaScript中獲取URL中參數(shù)值的方法

方法一:正則法
function getQueryString(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;}// 這樣調(diào)用:alert(GetQueryString("參數(shù)名1"));alert(GetQueryString("參數(shù)名2"));alert(GetQueryString("參數(shù)名3"));
方法二:split拆分法
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]] = 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ù),這個(gè)經(jīng)常用到。比如說一個(gè)url:http://wwww.fly63.com/?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 = decodeURIComponent(r[2]);reg = null;r = null;return context == null || context == "" || context == "undefined" ? "" : context;}alert(GetQueryString("q"));
function GetRequest() {var url = location.search; //獲取url中"?"符后的字串if (url.indexOf("?") != -1) { //判斷是否有參數(shù)var str = url.substr(1); //從第一個(gè)字符開始 因?yàn)榈?個(gè)是?號(hào) 獲取所有除問號(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)的)}}
學(xué)習(xí)更多技能
請(qǐng)點(diǎn)擊下方公眾號(hào)
![]()

評(píng)論
圖片
表情
