RegExp(arr[i],"gi")如何转换成/方式的呢?

teayear
前端领域优质创作者
博客专家认证
2016-04-08 09:19:15
RegExp(arr[i],"gi")如何转换成/方式的呢?不用这种方式,如何写成/arr /gi的方式呢?

var data = "恶心,轮子"; //定义要过滤的变量:
var keywords = data.split(","); //根据逗号区分得到一个数组;
var reply = document.all.msg.value; //得到回复文本区域的内容;
for (var i in keywords) { //采用for in格式从数组遍历取值;
//var reg = new RegExp(keywords[i], "gi"); //采用正则表达式,匹配是否存在敏感词汇
//如果用斜杠如何写?
reply = reply.replace(reg, "**"); //存在敏感词汇,则用*代替;
}
...全文
352 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
直接new RegExp就行了,动态词组你用斜杠需要eval过 reply = reply.replace(eval('/' + keywords[i] + '/gi'), "**");
teayear 2016-04-13
  • 打赏
  • 举报
回复
/keywords[i]/gi,试验了,不行哦!
cocotsau 2016-04-10
  • 打赏
  • 举报
回复
引用 2 楼 buzhou111 的回复:
[quote=引用 1 楼 jslang 的回复:] var reply = document.all.msg.value; reply = reply.replace(/恶心|轮子/ig, "**"); console.log(reply);
能不能这样写:reply = reply.replace(/keywords[i]/ig, "**");[/quote] perl风格正则表达式里面不能写变量
buzhou111 2016-04-10
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:
var reply = document.all.msg.value; reply = reply.replace(/恶心|轮子/ig, "**"); console.log(reply);
能不能这样写:reply = reply.replace(/keywords[i]/ig, "**");
天际的海浪 2016-04-08
  • 打赏
  • 举报
回复
var reply = document.all.msg.value; reply = reply.replace(/恶心|轮子/ig, "**"); console.log(reply);

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧