我有下面的循环。

我需要提取所有没有包含字母lskey的名称(p),但是我的尝试没有用。

for(var i = 0; i < localStorage.length; i++) {
    var lsKey = localStorage.key(i);
    var lsValue = localStorage.getItem(localStorage.key(i));
    if(lsKey.match("^p")) {
        $("#appendedLS").append("<input type='hidden' name='" + lsKey + "' value='" + lsValue + "'/>");
    }
}


如果有人有答案,我将不胜感激。

最佳答案

很近!在字符类内部,^表示取反,但在字符类外部表示“字符串开头”。

以下应该工作:

if(lsKey.match("p") === null){


只需检查字符p,如果它不存在,则match()将返回null



也就是说,如果您不需要使用正则表达式,那么使用indexOf方法要简单得多:

if(lsKey.indexOf("p") == -1){

关于javascript - Javascript .match-排除?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26663310/

10-09 19:02