实现JS脏话筛选替换的几种途径
一、逐个替换用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脏话筛选替换的几种途径的更多相关文章
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
js replace 全局替换 js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换. <scrip ...
- js正则表达式中的问号几种用法小结
这篇文章主要介绍了js正则表达式中的问号几种用法,比如+?,*?,{2,3}?可以停止匹配的贪婪模式,感兴趣的朋友可以参考下 在表示重复的字符后面加问号,比如+?,*?,{2,3}?可以停止匹配的贪婪 ...
- js刷新页面有哪几种方法
js刷新页面有哪几种方法 一.总结 一句话总结:location属性的reload方法即可:document.location.reload() 1.页面刷新有哪常见的8种方法? 1,history. ...
- handlebars.js 用 <br>替换掉 内容的换行符
handlebars.js 用 <br>替换掉 内容的换行符 JS: Handlebars.registerHelper('breaklines', function(text) { te ...
- JavaScript学习12 JS中定义对象的几种方式
JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...
- 点评js异步加载的4种方式
主要介绍了点评js异步加载的4种方式,帮助大家更全面的了解js异步加载方式,感兴趣的小伙伴们可以参考一下 js异步加载的4种方式,点评开始. <!DOCTYPE html> <htm ...
- (转)在网页中JS函数自动执行常用三种方法
原文:http://blog.sina.com.cn/s/blog_6f6b4c3c0100nxx8.html 在网页中JS函数自动执行常用三种方法 在网页中JS函数自动执行常用三种方法 在HTML中 ...
- js function定义函数的4种方法
js function定义函数的4种方法 1.最基本的作为一个本本分分的函数声明使用. 复制代码代码如下: 复制代码代码如下: function func(){} 或 var func=functio ...
- 关于js的replace替换
关于js的replace替换 msgContent = msgContent.replace("a","b"); 这样的替换只会把第一个a替换成b,不会替换全部 ...
随机推荐
- Delphi7 流操作_压缩
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- js filter()用法小结
/* filter() 对数组中的每个元素都执行一次指定的函数(callback),并且创建一个新的数组, 该数组元素是所有回调函数执行时返回值为 true 的原数组元素.它只对数组中的 非空元素执行 ...
- 吴裕雄--天生自然 PHP开发学习:For 循环
<?php for ($i=1; $i<=5; $i++) { echo "The number is " . $i . "<br>"; ...
- Python说文解字_杂谈01
1. Python在Ubuntu下面下载Python 2. 安装依赖包 sudo apt-get update sudo apt-get install build-essential python- ...
- openvino资源
Intel OpenVINO介紹及樹莓派.Linux的安裝 https://chtseng.wordpress.com/2019/01/21/intel-openvino%E4%BB%8B%E7%B4 ...
- if_while
import random secret=random.randint(1,10) tmp=input("请输入一个数") guess=int(tmp) while guess!= ...
- python编程:从入门到实践----第五章:if语句>练习
5-1 条件测试 :编写一系列条件测试:将每个测试以及你对其结果的预测和实际结果都打印出来. a. 详细研究实际结果,直到你明白了它为何为True 或False b. 创建至少2个测试,且其中结果分别 ...
- 配对t检验
- Tensorflow学习教程------下载图像识别模型inceptionV3
# coding: utf-8 import tensorflow as tf import os import tarfile import requests #inception模型下载地址 in ...
- centos 从头部署java环境
1.首先安装lrzsz 上传下载服务 yum install -y lrzsz 2.然后检查是否已经安装java rpm -qa|grep java 如果已经安装卸载后再重新安装 3.将下载好的jdk ...