我有以下循环。
我需要提取其中没有包含字母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 + "'/>");
}
}
如果有人回答,我将不胜感激。
答案 0 :(得分:3)
如此接近!在一个字符类中,^
表示否定,但在它之外表示&#34;字符串的开头&#34;。
以下内容应该有效:
if(lsKey.match("p") === null){
只需检查字符p
,如果它不存在,则match()
将返回null
。
也就是说,如果您不需要使用正则表达式,那么使用indexOf
方法会更简单:
if(lsKey.indexOf("p") == -1){
答案 1 :(得分:0)
indexOf()方法返回字符串中第一次出现指定值的位置。
如果要搜索的值永远不会发生,则此方法返回-1。
if(lsKey.indexOf("p")==-1){
//statement}