$("#index-link")[0].search = "?isNameChecked=False&isDateChecked=False&isStatusChecked=True"
如何使用jQuery从上面的字符串中找到isStatusChecked == true
或false
?
答案 0 :(得分:1)
我想有几种方法可以做到。
一种方法是str.indexOf("isDateChecked=False")
,如果找到字符串,它将返回value > -1
。
但是,如果要在要检查的子字符串中允许可变间距,则正则表达式可能是更好的选项。对于固定字符串,我会避免正则表达式并使用indexof
答案 1 :(得分:0)
您可能需要查看substr函数https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr
答案 2 :(得分:0)
发现了一个类似的问题,它提供了一个执行此here的函数。
稍微修改一下(假设你想使用一串文字,而不是地址栏中的网址)我想出了这个 -
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建议的正则表达式找到该值。
答案 3 :(得分: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
}
});
即使您向其添加更多参数也能正常工作。
答案 4 :(得分:0)
你可以通过isStatusChecked
拆分字符串var newString = asearch.split("isStatusChecked=").pop(-1);
答案 5 :(得分:0)
简单的正则表达式会成功:
var str = "?isNameChecked=False&isDateChecked=False&isStatusChecked=True";
str.match(/isStatusChecked=(.*?)(?:$|&)/); // ["isStatusChecked=True", "True"]