在Javascript中获取查询字符串数组值

Get querystring array values in Javascript

本问题已经有最佳答案,请猛点这里访问。

我有一个使用get方法的表单,其中包含一个数组:

http://www.example.com?name[]=hello&name[]=world

我正在尝试使用javascript或jquery检索数组值"hello"和"world"。

我研究过类似的堆栈溢出解决方案(例如,如何在javascript中获取查询字符串值?)但它们似乎只处理参数,而不是数组。

是否可以获取数组值?


你去那里:http:/ / / 1 / / mm6bt jsfiddle.net

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function getURLParam(key,target){
    var values = [];
    if (!target) target = location.href;

    key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");

    var pattern = key + '=([^&#]+)';
    var o_reg = new RegExp(pattern,'ig');
    while (true){
        var matches = o_reg.exec(target);
        if (matches && matches[1]){
            values.push(matches[1]);
        } else {
            break;
        }
    }

    if (!values.length){
        return null;  
    } else {
        return values.length == 1 ? values[0] : values;
    }
}

var str = 'http://www.example.com?name[]=hello&name[]=world&var1=stam';

console.log(getURLParam('name[]',str));
console.log(getURLParam('var1',str));