Analisar strings de consulta em javascript

Não é uma solução super robusta, mas funciona para análise simples. Meu caso de uso para isso tem sido rastrear e analisar referenciadores e verificar se há parâmetros de consulta modificados.

Essa função aceita um varName (o nome do parâmetro do qual você deseja o valor) e a string a ser pesquisada.

function parseQueryString(varName, queryStr) {
var queryStr = unescape(queryStr) + '&',
regex
= new RegExp('.*?[&\?]' + varName + '=(.*?)&.*'),
val
= queryStr.replace(regex, "$1");

return val == queryStr ? 0 : val;
}