js获取url参数值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js获取url参数值相关的知识,希望对你有一定的参考价值。

以下函数可以获取url任意参数的值:

function getParams(key)
    var url = location.search.replace(/^\\?/,\'\').split(\'&\');
    var paramsObj = ;
    for(var i = 0, iLen = url.length; i < iLen; i++)
        var param = url[i].split(\'=\');
        paramsObj[param[0]] = param[1];
    
    if(key)
        return paramsObj[key] || \'\';
    
    return paramsObj;

可选参数key表示获取参数的名称,如果省略该参数,则会返回一个对象,包含所有参数的key和value。

参考技术A     function request(param) 
        if (!window.paramObject) 
            var url = window.location.href;
            url = url.substring(url.indexOf("?") + 1, url.length);
            var paramArray = url.split("&");
            var paramObject = ;
            for (var i = 0; i < paramArray.length; i++) 
                var key = paramArray[i].substring(0, paramArray[i].indexOf("=")).toLowerCase();
                var value = paramArray[i].substring(paramArray[i].indexOf("=") + 1, paramArray[i].length);
                paramObject[key] = value;
            
            window.paramObject = paramObject;
        
        return window.paramObject[param];
    

参考技术B 在jsp中取到,然后在调用该js之前把这个值赋值给一个变量,然后该js去引用这个变量 参考技术C function getUrlParam(name)
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");

var r = window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;
参考技术D

javascript获取url参数值,你可以参考一下JavaScript获取url参数值

js获取url地址的参数的方法

js获取url参数值

今天说一下如何获取url参数值。

思路

  • 通过locationsearch就可以获取到url中问号后面的值。
  • 字符串过滤到问号
  • 通过split方法分割参数集合
  • 循环赋值
  • 匹配对应的参数值
  • 返回值

封装的方法

function getUrlParams(name) { // 不传name返回所有值,否则返回对应值
    var url = window.location.search;
    if (url.indexOf(‘?‘) == 1) { return false; }
    url = url.substr(1);
    url = url.split(‘&‘);
    var name = name || ‘‘;
    var nameres;
    // 获取全部参数及其值
    for(var i=0;i<url.length;i++) {
        var info = url[i].split(‘=‘);
        var obj = {};
        obj[info[0]] = decodeURI(info[1]);
        url[i] = obj;
    }
    // 如果传入一个参数名称,就匹配其值
    if (name) {
        for(var i=0;i<url.length;i++) {
            for (const key in url[i]) {
                if (key == name) {
                    nameres = url[i][key];
                }
            }
        }
    } else {
        nameres = url;
    }
    // 返回结果
    return nameres;
}

实例

例如:

const url = ‘http://www.abc.com/test.php?id=1&from=index‘;
var res = getUrlParams();
var res1 = getUrlParams(‘id‘);
console.log(res); //  [{id: "1"}, {from: "index"}]
console.log(res1); // 1

写在最后

这是一个比较简单的方法。

以上是关于js获取url参数值的主要内容,如果未能解决你的问题,请参考以下文章

如何用js获取当前url的参数值

有没有开源方法能直接获取url的参数值

js获取url地址的参数的方法

js url截取其中一个参数

求教js获取url参数

在JS中获取没有值的URL参数[重复]