Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML5本地存储&;jQuery:删除以某个单词开头的本地存储键_Javascript_Jquery_Html_Local Storage - Fatal编程技术网

Javascript HTML5本地存储&;jQuery:删除以某个单词开头的本地存储键

Javascript HTML5本地存储&;jQuery:删除以某个单词开头的本地存储键,javascript,jquery,html,local-storage,Javascript,Jquery,Html,Local Storage,我有两个应用程序与localstorage一起工作,我想知道如何删除所有以note-和todo-开头的密钥。我知道localstorage.clear()可以清除所有内容,但这不是我的目标 以下是我在本地存储中的一个示例: 在这里,我想使用jquery通过单击按钮删除所有todo-*和通过单击其他按钮删除所有note-* 非常感谢,我使用了与@Ghostoy类似的方法,但我想输入一个参数,因为我在代码中的几个地方调用了它。我不能在正则表达式中使用我的参数名,所以我只使用了子字符串 Object.

我有两个应用程序与localstorage一起工作,我想知道如何删除所有以note-和todo-开头的密钥。我知道localstorage.clear()可以清除所有内容,但这不是我的目标

以下是我在本地存储中的一个示例:

在这里,我想使用jquery通过单击按钮删除所有todo-*和通过单击其他按钮删除所有note-*


非常感谢,

我使用了与@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删除该值,当我刷新时,我将该值取回。