一、逐个替换用replace

缺点:筛选的脏话集太少

 var oSize = $(this).siblings('.flex-text-wrap').find('.comment-input').val();
console.log(oSize);
//筛选网络暴力语言begin
var b= oSize.replace(/滚/g,'*');
var c= b.replace(/sb/g,'*');
var d= c.replace(/tmd/g,'*');
/*
思路1:脏话存在代码一个数组中,在得到输入的评论后,循环对比
缺点:脏话集多,全插代码中感觉有些不妥
目前结果:失败
失败原因:实际网页效果无法进行循环代替
思路2:脏话存在本地的一个txt文本中,等到用的时候再调用
思路3:脏话存在本地TXT文本,用Python本地分析后上传网页
*/
//筛选网络暴力语言end
oSize = d;

二、正则过滤

这个是目前可以脏话筛选替换的唯一一个

bug:

1、输入脏话后仍然出现在评论区

2、正常没问题的语句不能显示出来

 var oSize = $(this).siblings('.flex-text-wrap').find('.comment-input').val();//获取输入内容
console.log(oSize);//传说是按下F12后,可以看见log里写的,但是我刚才尝试并没有什么用 //筛选网络暴力语言begin
var reg=/(a)|(b)/g;//这个就是正则式了,将想过滤的词汇放在这里
var str=oSize.match(reg).join("\",\"");//match可以将符合的词汇挑出来组成一个数组
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" onclick="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 = '';

源代码

实现JS脏话筛选替换的几种途径的更多相关文章

  1. js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式

    js replace 全局替换   js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换. <scrip ...

  2. js正则表达式中的问号几种用法小结

    这篇文章主要介绍了js正则表达式中的问号几种用法,比如+?,*?,{2,3}?可以停止匹配的贪婪模式,感兴趣的朋友可以参考下 在表示重复的字符后面加问号,比如+?,*?,{2,3}?可以停止匹配的贪婪 ...

  3. js刷新页面有哪几种方法

    js刷新页面有哪几种方法 一.总结 一句话总结:location属性的reload方法即可:document.location.reload() 1.页面刷新有哪常见的8种方法? 1,history. ...

  4. handlebars.js 用 <br>替换掉 内容的换行符

    handlebars.js 用 <br>替换掉 内容的换行符 JS: Handlebars.registerHelper('breaklines', function(text) { te ...

  5. JavaScript学习12 JS中定义对象的几种方式

    JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...

  6. 点评js异步加载的4种方式

    主要介绍了点评js异步加载的4种方式,帮助大家更全面的了解js异步加载方式,感兴趣的小伙伴们可以参考一下 js异步加载的4种方式,点评开始. <!DOCTYPE html> <htm ...

  7. (转)在网页中JS函数自动执行常用三种方法

    原文:http://blog.sina.com.cn/s/blog_6f6b4c3c0100nxx8.html 在网页中JS函数自动执行常用三种方法 在网页中JS函数自动执行常用三种方法 在HTML中 ...

  8. js function定义函数的4种方法

    js function定义函数的4种方法 1.最基本的作为一个本本分分的函数声明使用. 复制代码代码如下: 复制代码代码如下: function func(){} 或 var func=functio ...

  9. 关于js的replace替换

    关于js的replace替换 msgContent = msgContent.replace("a","b"); 这样的替换只会把第一个a替换成b,不会替换全部 ...

随机推荐

  1. 动态加载JS文件方法总结

    1.JQuery方法 $.getScript("./test.js"); //加载js文件 $.getScript("./test.js",function() ...

  2. 程序员必备:详解XSS和CSRF

    做开发的小伙伴想必都不陌生XSS 和 CSRF,但也有一些刚接触的朋友还不是很清楚,今天就给大家详解下XSS和CSRF! 一.XSS xss,即 Cross Site Script,中翻译是跨站脚本攻 ...

  3. 算概率(dp,数论)

    链接:https://ac.nowcoder.com/acm/contest/3003/C来源:牛客网 题目描述 牛牛刚刚考完了期末,尽管牛牛做答了所有 n 道题目,但他不知道有多少题是正确的. 不过 ...

  4. 201771010123汪慧和《面向对象程序设计JAVA》第六周实验总结

    一.理论部分: 1.继承 用已有类来构建新类的一种机制.当定义了一个新类继承了一个类时,这个新类就继承了这个类的方法和域,同时在新类中添加新的方法和域以适应新的情况. 2.类.超类.子类 (1)类继承 ...

  5. PAT B1045 快速排序

    题目如下: 1045 快速排序 (25 point(s)) 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到 ...

  6. 面试准备 css 书写顺序及原理

    书写顺序 (1)定位属性:position  display  float  left  top  right  bottom   overflow  clear   z-index (2)自身属性: ...

  7. Hadoop的FlieSystem类的使用

    1.使用FileSystem类需要导入jar包 解压hadoop-2.7.7.tar.gz 复制如下三个jar包和lib下所有jar包到项目文件下的lib文件 2.查看文件信息 @Test publi ...

  8. autorclone使用心得

    一边使用一边更新. 0x00  SAs最坑的那地方在于,当我新建了一个group,却只能每天添加100个SAs.但是autorclone在本地调用的SAs却有500个,这样每次copy的时候,auto ...

  9. Python笔记_第一篇_面向过程_第一部分_4.格式化输入和输出

    开始Python编程首先要学习两类最常用(经常出现和使用)输入和输出.学习编程最重要的状态就是“人机交互”,所以这两类函数显得尤其重要. 第一部分 格式化输入 1.1   函:input 语:inpu ...

  10. VC调用VB写的COM

    VB. 步骤: 1.创建类库:类库的创建必须分为接口和实现类:给外面提供的是COM接口: 创建了接口和类之后还要创建"Guid",这个在"工具->创建GUID&qu ...