0
$("#index-link")[0].search = "?isNameChecked=False&isDateChecked=False&isStatusChecked=True"

如何使用 jQuery 从上面的字符串中找到isStatusChecked == trueor ?false

4

6 回答 6

1

我想有几种方法可以做到这一点。一种方法是如果找到字符串str.indexOf("isDateChecked=False")将返回。value > -1

但是,如果您想在要检查的子字符串中允许可变间距,则正则表达式可能是一个更好的选择。不过,对于固定字符串,我会避免使用正则表达式并使用 indexof

于 2013-07-04T05:39:24.663 回答
0

简单的正则表达式会成功:

var str = "?isNameChecked=False&isDateChecked=False&isStatusChecked=True";
str.match(/isStatusChecked=(.*?)(?:$|&)/); // ["isStatusChecked=True", "True"]
于 2013-07-04T06:04:54.273 回答
0

发现了一个与此类似的问题,它提供了一个在此处执行此操作的函数。

通过稍微修改它(假设您想使用一串文本,而不是地址栏中的 url)我想出了这个 -

function getParameterByName(name, url) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(url);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

这是一个在行动中的小提琴 - http://jsfiddle.net/dNe38/

该值是通过使用 Pranav 建议的正则表达式找到的。

于 2013-07-04T05:41:49.337 回答
0

您可能需要查看 substr 函数https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr

或使用搜索方法http://www.w3schools.com/jsref/jsref_search.asp

于 2013-07-04T05:37:32.370 回答
0

不需要 jQuery。使用内置 JavaScript 函数:

var a = "?isNameChecked=False&isDateChecked=False&isStatusChecked=True";

var params = a.split("&");

params.forEach(function(param) {
    var keyValue = param.split("=");
    var key = keyValue[0];
    var value = keyValue[1];
    if(key === 'isStatusChecked') {
        alert(value); //True
    }
});

JSFiddle

即使您向其添加更多参数也可以工作。

于 2013-07-04T05:43:18.110 回答
0

您可以通过 isStatusChecked 拆分字符串

var newString = asearch.split("isStatusChecked=").pop(-1);
于 2013-07-04T05:44:01.883 回答