使用/ Javascript引用URL查询字符串参数

时间:2011-10-05 15:17:30

标签: javascript query-string indexof

我有一个带有一堆查询字符串参数的引用网址。到目前为止,这是我的代码:

var refURL=document.referrer;
var stock=refURL.substring(refURL.indexOf('?')+7, refURL.length);

当我在URL的末尾只有1个查询字符串参数时,这很好用。现在我有3.我想替换第二行,以便子串在下一个“&”处停止。

var stock=refURL.substring(refURL.indexOf('?')+7, ????);

从那里开始,我想要另一条线来捕获下一个参数并将其存储为变量。我不能使用indexOf,所以如何从“&”开始我离开的地方?

谢谢!

1 个答案:

答案 0 :(得分:1)

有更好的方法来查询字符串,所以我将讨论indexOf。它实际上需要第二个可选参数fromIndex。

var str = "com/?test=0&i=2&me=3&u=56";
var prevIndx = str.indexOf('?');
var query = {}, arr, result, next;

while(prevIndx != -1) {
    next = str.indexOf('&', prevIndx+1);
    if (next == -1) next = str.length;
    result = str.substring(prevIndx+1, next);
    arr = result.split('=');
    console.log(prevIndx)    
    query[arr[0]] = arr[1];
    prevIndx = str.indexOf('&', prevIndx+1);
}

该代码并不漂亮,但它演示了indexOf的fromIndex参数