我有下面的循环。
我需要提取所有没有包含字母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/