Javascript HTML5本地存储&;jQuery:删除以某个单词开头的本地存储键
我有两个应用程序与localstorage一起工作,我想知道如何删除所有以note-和todo-开头的密钥。我知道localstorage.clear()可以清除所有内容,但这不是我的目标 以下是我在本地存储中的一个示例: 在这里,我想使用jquery通过单击按钮删除所有todo-*和通过单击其他按钮删除所有note-*Javascript HTML5本地存储&;jQuery:删除以某个单词开头的本地存储键,javascript,jquery,html,local-storage,Javascript,Jquery,Html,Local Storage,我有两个应用程序与localstorage一起工作,我想知道如何删除所有以note-和todo-开头的密钥。我知道localstorage.clear()可以清除所有内容,但这不是我的目标 以下是我在本地存储中的一个示例: 在这里,我想使用jquery通过单击按钮删除所有todo-*和通过单击其他按钮删除所有note-* 非常感谢,我使用了与@Ghostoy类似的方法,但我想输入一个参数,因为我在代码中的几个地方调用了它。我不能在正则表达式中使用我的参数名,所以我只使用了子字符串 Object.
非常感谢,我使用了与@Ghostoy类似的方法,但我想输入一个参数,因为我在代码中的几个地方调用了它。我不能在正则表达式中使用我的参数名,所以我只使用了子字符串
Object.keys(localStorage)
.forEach(function(key){
if (/^todo-|^note-/.test(key)) {
localStorage.removeItem(key);
}
});
function ClearSomeLocalStorage(startsWith) {
var myLength = startsWith.length;
Object.keys(localStorage)
.forEach(function(key){
if (key.substring(0,myLength) == startsWith) {
localStorage.removeItem(key);
}
});
}
似乎只删除了待办事项?古怪的正则表达式应该是
/^(?:todo-| note-/
。?:
将使它成为一个非捕获组,这将使事情加快一点<代码>/^todo-| ^note-/在没有任何分组的情况下也应该可以工作。问题似乎不是这样。我认为问题在于该应用程序的编码,因为我试图通过firebug删除该值,当我刷新时,我将该值取回。