JS获取浏览器地址栏的多个参数值的任意值
getParamValue("id"); //http://localhost:2426/TransactionNotes.aspx?id=100 //返回值是100; // 根据参数名称获取参数值 function getParamValue(name) { var paramsArray = getUrlParams(); if (paramsArray != null) { for (var i = 0 ; i < paramsArray.length ; i++) { for (var j in paramsArray[i]) { if (j == name) { return paramsArray[i][j]; } } } } return null; } // 获取地址栏的参数数组 function getUrlParams() { var search = window.location.search; // 写入数据字典 var tmparray = search.substr(1, search.length).split("&"); var paramsArray = new Array; if (tmparray != null) { for (var i = 0; i < tmparray.length; i++) { var reg = /[=|^==]/; // 用=进行拆分,但不包括== var set1 = tmparray[i].replace(reg, '&'); var tmpStr2 = set1.split('&'); var array = new Array; array[tmpStr2[0]] = tmpStr2[1]; paramsArray.push(array); } } // 将参数数组进行返回 return paramsArray; }
简单的方法
var urlParams = new URLSearchParams('?post=1234&action=edit'); console.log(urlParams.get('action')); // "edit"
常用获取浏览器地址栏的参数(支持中文)
//获取浏览器参数支持中文 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return decodeURIComponent(r[2]); return null; } console.dir(getQueryString("id"));