实现JS脏话筛选替换的几种途径

一、逐个替换用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、用这个屏蔽没有用,且评论的话,不能显示





无标题文档




 

源代码


四、未知

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 = '';

源代码

 

转载于:https://www.cnblogs.com/vocoub/p/11518100.html

你可能感兴趣的:(实现JS脏话筛选替换的几种途径)