当gKeyword等于如下的四种情况的时候:
gKeyword = "[";
gKeyword = "]";
gKeyword = "(";
gKeyword = ")";执行下面的语句报错:
new RegExp("(" + replaceReg(gKeyword) + ")", "g")
//正则表达式转义
function replaceReg(str){
return str.replace(new RegExp("\\?","gm"),"\\?").replace(new RegExp("\\+","gm"),"\\+").replace(new RegExp("\\)","gm"),"\\)").replace(new RegExp("\\(","gm"),"\\(")
.replace(new RegExp("\\]","gm"),"\\]").replace(new RegExp("\\[","gm"),"\\[").replace(new RegExp("\\*","gm"),"\\*").replace(new RegExp("\\\\","gm"),"\\\\");
}当gKeyword = "[" 的时候报错如下:
行: 228
错误: 正则表达式中缺少 ']'如何做才能在gKeyword的值等于这四种情况的时候 不报错呀!!!
gKeyword = "[";
gKeyword = "]";
gKeyword = "(";
gKeyword = ")";执行下面的语句报错:
new RegExp("(" + replaceReg(gKeyword) + ")", "g")
//正则表达式转义
function replaceReg(str){
return str.replace(new RegExp("\\?","gm"),"\\?").replace(new RegExp("\\+","gm"),"\\+").replace(new RegExp("\\)","gm"),"\\)").replace(new RegExp("\\(","gm"),"\\(")
.replace(new RegExp("\\]","gm"),"\\]").replace(new RegExp("\\[","gm"),"\\[").replace(new RegExp("\\*","gm"),"\\*").replace(new RegExp("\\\\","gm"),"\\\\");
}当gKeyword = "[" 的时候报错如下:
行: 228
错误: 正则表达式中缺少 ']'如何做才能在gKeyword的值等于这四种情况的时候 不报错呀!!!
gKeyword = ["[", "]","(",")","*","\\"];
for(var i in gKeyword){
var reg=new RegExp("(\\" + gKeyword[i] + ")", "g");
var b="[]()*\\";
alert(gKeyword[i]+":"+reg.test(b));
}
</script>
这样试试
gKeyword = ["[", "]","(",")","*","\\","a"];
function replaceReg(str){
return str.replace(new RegExp("\\?","gm"),"\\?")
.replace(new RegExp("\\+","gm"),"\\+")
.replace(new RegExp("\\)","gm"),"\\)")
.replace(new RegExp("\\(","gm"),"\\(")
.replace(new RegExp("\\]","gm"),"\\]")
.replace(new RegExp("\\[","gm"),"\\[")
.replace(new RegExp("\\*","gm"),"\\*")
.replace(new RegExp("\\\\","gm"),"\\\\");
}
for(var i in gKeyword){
var reg=new RegExp("(\\" + gKeyword[i] + ")", "g");
var b="[]()*\\a";
alert(gKeyword[i]+":"+reg.test(b));
}
</script>
不知这是不是你想要的