抓住查询字符串的某些部分

时间:2012-03-01 17:46:42

标签: javascript jquery regex url query-string

我的网址会有以下

的查询字符串
TestPage.aspx?s=bcs_locations&k=userkwd* bcslocationtype:"Hospital"

其中?s = bcs_locations将始终相同。有三个复选框和一个用于输入的输入框。如果用户仅选中复选框,则网址将如下所示:

TestPage.aspx?s=bcs_locations&k=bcslocationtype:"Hospital"

如果用户只在输入框中键入某个内容,则url将如下所示:

TestPage.aspx?s=bcs_locations&k=vincent*

如果用户选中了某个复选框并在输入框中输入了关键字,则URL将显示为

TestPage.aspx?s=bcs_locations&k=userkwd* bcslocationtype:"Hospital"

'医院'等是所选复选框的值。

现在我只需要抓取*和k =前面的任何内容,如果在URL中存在*?

我可以得到这样的查询字符串:

  var val=window.location.href.match(/[?&]k=([^&#]+)/) || []; 
if (value.length == 2) { 

 valuesafterK=value[1];
 //i now need values after k= and * if there * in value[1]
}

1 个答案:

答案 0 :(得分:0)

您可以使用此功能。

function queryString(key) {
    var query = window.location.search.substring(1);
    var vars = query.split('&');
    for (i = 0; i < vars.length; i++) {
        var cVar = vars[i].split('=');
        if (cVar[0] == key) {
            return cVar[1];
        }
    }
}

var k = queryString('k');