Javascript 检查当前url中的特定uri-Jquery

Javascript 检查当前url中的特定uri-Jquery,javascript,jquery,url,uri,Javascript,Jquery,Url,Uri,我正在尝试检查当前的url base_url/index.php?name0=value0&name1=value1&name2=value2... 包含特定的name=value。我试过这个 var path = $.inArray('name=value', $(location).attr('href').split('&')); if (path > -1){ triggers my function...} 但是我想如果url是url

我正在尝试检查当前的url

base_url/index.php?name0=value0&name1=value1&name2=value2...
包含特定的
name=value
。我试过这个

var path = $.inArray('name=value', $(location).attr('href').split('&'));
        if (path  > -1){ triggers my function...}

但是我想如果url是url编码的,这就不起作用了。是否有一种方法可以检查url是否包含
name=value
,而无需检查所有条件
(拆分('&')
拆分('%26'))

您可以使用核心javascript进行此操作:

var parameterName = 'name0';
var parameterValue = 'value0';
var path = decodeURI(location.href).indexOf(parameterName+'='+parameterValue); 
if (path > -1){ 
    triggers my function...
}
编辑:我对它进行了更多的测试,但两种解决方案都不是完美的:当您在指定的名称值之前有某个内容时,我的解决方案会失败,例如:
varname0
当您选中
name0
时,将找到不正确的解决方案,您的(和monshq的)不检查
字符后面的第一个值/对


是您正在查找的内容。

拆分将始终有效,因为如果拆分参数,则url的
&
部分不会被编码。但是,可以在url中对名称或值进行编码。要搜索它们,您应该像这样使用
encodeURI

var path = $.inArray(encodeURI('name=value'), $(location).attr('href').split('&'));
    if (path  > -1){ triggers my function...}

这不是JQuery的一部分,而是本机浏览器javascript的一部分。