js简单实现敏感词过滤功能(匹配和替换)
本文教大家使用indexOf和正则对违禁词敏感词进行匹配查找和替换
假设我们有一个文本框,和一个违禁词词库,违禁词库可以是json数据格式的,也可以是后台读取过来。
<input type="text" value="" id="txt">
<script>
var badwords = ['私家侦探', '代孕'];
</script>
我们的思路很简单
1.绑定输入框的blur或change或input事件
2.获取输入的内容去和词库里的词进行匹配,在这里我们使用的是indexOf函数
3.如需要替换用的是正则替换
<input type="text" value="" id="txt">
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
var badwords = ['私家侦探', '代孕'];
$('#txt').on('input', function () {
var txt = $(this).val(); // 输入框的值
var res = filter_method(txt, badwords); // 返回替换后的内容
$('#txt').val(res)
})
function filter_method(text, badword){
//获取文本输入框中的内容
var value = text;
var res = '';
//遍历敏感词数组
for(var i=0; i<badword.length; i++){
//全局替换
var reg = new RegExp(badword[i],"g");
//判断内容中是否包括敏感词
if (value.indexOf(badword[i]) > -1) {
// 将敏感词替换为 **
res= value.replace(reg,"**");
value = res;
}
}
return value;
}
</script>
版权声明
本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。
评论