欢迎来到北极熊_北极熊网
帮助中心

北极熊_北极熊网

热门搜索:

vue 敏感词过滤 前端

  • 时间:2020-10-30 13:21 编辑:ord 来源:北极熊 阅读:5
  • 扫一扫,手机访问
摘要:vue 敏感词过滤 前端根据正则来进行过滤 敏感词是一个数组 词比较多 专门存放在js文件里面 vue用 export 导出 再引入到需要用的组件里judgeBadWord(obj) {       let word = words.words //获取敏感词的数组      

vue 敏感词过滤 前端

根据正则来进行过滤 敏感词是一个数组 词比较多 专门存放在js文件里面 vue用 export 导出 再引入到需要用的组件里

judgeBadWord(obj) {
      let word = words.words //获取敏感词的数组
      //进行遍历
      for (let i=0;i<word.length;i++) {
        /*替换全部空格*/
        // let arr = obj.replace(/\s+/g,"")
        this.contents = obj        //gi g全局  i不分大小写
        let reg = new RegExp(word[i],"gi")
        //用indexOf 判断是否包含
        if(this.contents.indexOf(word[i]) !== -1){
          let result = this.contents.replace(reg,"***")
          this.contents = result          return true
        }
      }
    }
    //在发送消息时进行调用就行了123456789101112131415161718

刚开始这样写以为没啥问题 但是当同一句话中出现多个不同敏感词时 后面的会过滤不掉 进行改进了一下

judgeBadWord(str,badWord){
		//trim() 方法不会改变原始字符串 去掉首尾空白符
          this.contents = str.trim()
          var re = ''
          //正则过滤 模版字符串 \b 是一个整单词
          for(var i=0;i<badWord.length;i++){
            if(i==forbiddenArray.length-1)
            re += `\\b${badWord[i]}\\b`
            else
            re += `\\b${badWord[i]}\\b`+"|"
          }
          var reg = new RegExp(re,"gi")
          this.contents=this.contents.replace(reg,"***")
          return this.contents        }123456789101112131415

到这了以为可以结束了 可是敏感词里有 两个英语单词组成
hellow 是敏感词 hellow word 也是敏感词 输入hellow word 的时候 helllow会变成*** word不会 不能自己去把数组里面的字符串自己调位置吧
就 把数组进行了 排序

    //这里用map可以进行链式调用 字符串的length 从高到低排序
	let word = words.words    this.rtn = word.map(i => ({raw: i, len: i.length}))
                .sort((p, n) => n.len - p.len)
                .map(i => i.raw)12345

只是记录一下 其中性能方面还可以优化一下 不足之处 还请多多关照!!!!


  • 全部评论(0)
上一篇:已是第一篇内容
下一篇:如何做一个可输入的下拉框,进行模糊匹配
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术文档|运维】destoon 系统目录文件结构(2020-11-25 21:39)
【程序人生|】destoon 模板存放规则及语法参考(2020-11-25 21:38)
【技术文档|运维】destoon URL Rewrite(伪静态)设置方法(2020-11-25 21:31)
【技术文档|运维】destoon Can not connect to MySQL server(2020-11-25 21:24)
【技术文档|运维】destoon 公司主页模板风格添加方法(2020-11-25 21:22)
【技术文档|运维】destoon 标签(tag)调用手册(2020-11-25 21:16)
【技术文档|运维】destoon 数据字典(2020-11-25 21:14)
【技术文档|运维】DESTOON 手机版伪静态设置方法(2020-11-25 21:13)
【技术文档|运维】DESTOONGBK编码网站转UTF-8编码(2020-11-25 21:11)
【程序人生|】DESTOON添加或修改模块提示Unknown column mobile(2020-11-25 21:10)
联系我们
电话:18936411277
邮箱:1044412291@qq.com
时间:09:00 - 19:00
公众号:北格软件
底部广告