• 全部
  • 问答

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

tea_year 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, "**"); //存在敏感词汇,则用*代替;
}
...全文
156 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
直接new RegExp就行了,动态词组你用斜杠需要eval过 reply = reply.replace(eval('/' + keywords[i] + '/gi'), "**");
回复
tea_year 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);
回复
发帖
JavaScript
创建于2007-09-28

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2016-04-08 09:19
社区公告
暂无公告