一、逐个替换用replace
缺点:筛选的脏话集太少
1 var oSize = $(this).siblings('.flex-text-wrap').find('.comment-input').val(); 2 console.log(oSize); 3 //筛选网络暴力语言begin 4 var b= oSize.replace(/滚/g,'*'); 5 var c= b.replace(/sb/g,'*'); 6 var d= c.replace(/tmd/g,'*'); 7 /* 8 思路1:脏话存在代码一个数组中,在得到输入的评论后,循环对比 9 缺点:脏话集多,全插代码中感觉有些不妥 10 目前结果:失败 11 失败原因:实际网页效果无法进行循环代替 12 思路2:脏话存在本地的一个txt文本中,等到用的时候再调用 13 思路3:脏话存在本地TXT文本,用Python本地分析后上传网页 14 */ 15 //筛选网络暴力语言end 16 oSize = d;
二、正则过滤
这个是目前可以脏话筛选替换的唯一一个
bug:
1、输入脏话后仍然出现在评论区
2、正常没问题的语句不能显示出来
1 var oSize = $(this).siblings('.flex-text-wrap').find('.comment-input').val();//获取输入内容 2 console.log(oSize);//传说是按下F12后,可以看见log里写的,但是我刚才尝试并没有什么用 3 4 //筛选网络暴力语言begin 5 var reg=/(a)|(b)/g;//这个就是正则式了,将想过滤的词汇放在这里 6 var str=oSize.match(reg).join("\",\"");//match可以将符合的词汇挑出来组成一个数组 7 alert("请不要使用\""+str+"\"等不文明词汇!");
三、未知
bug:
1、我没看懂(捂脸)
2、用这个屏蔽没有用,且评论的话,不能显示
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=" http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head><body> <input type="text" id="Name" /><input type="button" value="Test" οnclick="ck()" /> </body> </html> <script type="text/javascript"> function ck(){ var obj=document.getElementById("Name") ; var kw="啊,我,你,他"; //要屏蔽的关键词,多个请用英文输入法状态下的逗号 var tempKw=kw.split(",") if(tempKw.length>=1){ for(i=0;i<tempKw.length;i++){ if(obj.value.indexOf(tempKw[i])>=0) { alert("请不要使用敏感文字!"); break; //退出循环 } } } } </script>
四、未知
bug:
同上代码的bug
var oPublish = document.getElementById('publish'); var oMessage = document.getElementById('message'); var oReceive = document.getElementById('receive'); var sensitiveWords = ['赵成亮','吴旭东','薛江强','老王','孙毅','丁函','尚启']; oPublish.onclick = function(){ var sMessage = oMessage.value; if(sMessage == ''){ alert('请输入留言!'); return false; } // sensitiveWords.forEach.(function(v){ // sMessage = sMessage.replace(v , '***'); // }); sensitiveWords.forEach(function (v) { while(sMessage.indexOf(v) !== -1){ sMessage = sMessage.replace(v, '***'); } }); var oLi = document.createElement('li'); oLi.innerHTML =sMessage; oReceive.appendChild(oLi); oMessage.value = '';