处理敏感字、js 正则过滤敏感词mint-filter

如何使用js过滤敏感词

在字符串中有敏感字就打几个*号来代替

var s = "夜黑风高夜,在小树林我里个去,你大爷的";
        
var reg = /我里个去|你大爷的/g;
s = s.replace(reg,function(ev){
    var str = "";
    for(var i=0; i<ev.length; i++){
        str+="*";
    }
    return str;
})
console.log(s)  //夜黑风高夜,在小树林****,****

使用mint-filter模块

安装

npm i -S mint-filter

使用

// Mint导出是 export default Mint
// 所以在使用require引用的时,Mint可能挂载在default下面
const Mint = require('mint-filter').default
const mint = new Mint(['敏感词数组'])
 
// 异步方法,该方法返回的是一个Promise对象
mint.filter('word').then((res) => {})
 
// 同步方法
mint.filterSync('word')

方法

所有方法都提供同步/异步两种。英文字母会全部转换成大写比较。

filter(word, options)


  • word<[string]>:需要过滤的字符串。
  • options<[FilterOptions]>:是一个对象,支持的参数replace是否将敏感词替换成*、words是否提取敏感词,全部为布尔值。
  • returns: <[Promise]<[FilterValue]>>

该方法将返回过滤文本和被过滤的敏感词。

import Mint from 'mint-filter'
const mint = new Mint(['敏感词'])
 
mint.filter('这是一个敏感词字符串')
    .then(data => {
      console.log(data) // { text: '这是一个***字符串', words: [ '敏感词' ], pass: false }
    })
 
mint.filter('这是一个敏感词字符串', { replace: false })
    .then(data => {
      console.log(data) // { text: '这是一个敏感词字符串', words: [ '敏感词' ], pass: false }
    })

filterSync(word, replace)

  • word<[string]>:filter的同步方法。
  • options<[FilterOptions]>:是一个对象,支持的参数replace是否将敏感词替换成*、words是否提取敏感词,全部为布尔值。
  • returns: <[FilterValue]>

validator(word) 快速校验文本


  • word<[string]>:需要验证的字符串文本。
  • returns: <[boolean]>

判断文本是否通过敏感词验证,发现敏感词会立即返回false

posted @ 2022-10-31 15:28  默永  阅读(976)  评论(0编辑  收藏  举报