动态正则中的动态范围
let array = [
"`","~","!","@","#","$","%","^","&","*","(",")","_","=","+",
"[","{","\]","}","\\","|",";",":","'","\"",",","<",".",">","\/","?"
]
console.log(new RegExp(`[${array.join("")}]`, "i").test("~123")) // false
我想通过筛选数组生成动态的非法字符正则检测,但是动态正则并没有生效,请问如何才能生效?
生效代码
let array = [
// 英文
"`","~","!","@","#","$","%","^","&","*","(",")","-","_","=","+",
"[","{","]","}","\\","|",";",":","'","\"",",","<",".",">","/","?",
// 中文
"·","!","¥","…","(",")","—","【","】","、",";",":","‘","’","“","”",",","《","。","》","?"
]
for (let index = 0; index < array.length; index++) {
// 测试
console.log(new RegExp(`[${array.join("\\")}]`, "im").test(` 123 ${array[index]} 456 `))
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看图

所以
是你的配置写错了
所有需要转义的里面的
\
都要转义例如
'\['
->'\\['
'\\'
->'\\\\'
'\/'
->'\\/'
等等