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