计算查询字符串中的参数数量

时间:2015-08-17 09:31:27

标签: javascript jquery

如何计算查询字符串传递的参数数量? e.g。

www.abc.com/product.html?product=furniture&&images=true&&stocks=yes

我希望能够得到答案为3 1. product=furniture 2. images=true 3. stocks=yes

var url = window.location.href;
var arr = url.split('=');
console.log(url.length)

3 个答案:

答案 0 :(得分:4)

您可以使用字符串' match

var matches = str.match(/[a-z\d]+=[a-z\d]+/gi);
var count = matches? matches.length : 0;

答案 1 :(得分:0)

首先在所需的网址

中获取问号字符?的位置
var pos = location.href.indexOf("?");
if(pos==-1) return [];
query = location.href.substr(pos+1);

然后获取参数数组:

var result = {};
query.split("&").forEach(function(part) {
    var item = part.split("=");
    result[item[0]] = decodeURIComponent(item[1]);
});

然后将结果的长度计算为

result.length;

答案 2 :(得分:0)

如果您使用快递,则可以使用
Object.keys(req.query).length

请看这里:How to get number of request query parameters in express.js?