js简单实现敏感词过滤功能(匹配和替换)

来源:网络 文章列表 2018-12-24 8
本文教大家使用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>

 

 

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论