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"));
原文地址:https://www.cnblogs.com/wangjae/p/9358097.html