HTML5 Localstorage & jQuery:删除以某个单词开头的本地存储键
Posted
技术标签:
【中文标题】HTML5 Localstorage & jQuery:删除以某个单词开头的本地存储键【英文标题】:HTML5 Localstorage & jQuery: Delete localstorage keys starting with a certain word 【发布时间】:2011-11-27 08:37:42 【问题描述】:我有 2 个应用程序与 localstorage 一起工作,我想知道如何删除所有以 note- 和 todo- 开头的键。我知道 localstorage.clear() 会清除所有内容,但这不是我的目标。
这是我在本地存储中的一个示例:
我想通过单击按钮删除所有 todo-* 并使用 jquery 单击其他按钮删除所有 note-*。
非常感谢
【问题讨论】:
***.com/questions/3138564/… 【参考方案1】:Object.keys(localStorage)
.forEach(function(key)
if (/^todo-|^note-/.test(key))
localStorage.removeItem(key);
);
【讨论】:
好像只删除了todo-的?奇怪 正则表达式应该是/^(?:todo-|note-)/
。 ?:
将使它成为一个非捕获组,这将加快速度。 /^todo-|^note-/
应该也可以在没有任何分组的情况下工作。
这似乎不是问题所在。我认为问题出在该应用程序的编码中,因为我试图通过 firebug 删除该值,当我刷新时,我将其取回。【参考方案2】:
我使用了与 @Ghostoy 类似的方法,但我想输入一个参数,因为我从代码中的多个位置调用它。我无法在正则表达式中使用我的参数名称,所以我只使用了子字符串。
function ClearSomeLocalStorage(startsWith)
var myLength = startsWith.length;
Object.keys(localStorage)
.forEach(function(key)
if (key.substring(0,myLength) == startsWith)
localStorage.removeItem(key);
);
【讨论】:
以上是关于HTML5 Localstorage & jQuery:删除以某个单词开头的本地存储键的主要内容,如果未能解决你的问题,请参考以下文章
[html5]localStorage的原理和HTML5本地存储安全性