如何计算查询字符串传递的参数数量? 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)
答案 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?