屏蔽词非法词检测以及转换npm上线😁
发布于 8 年前 作者 NextZeus 5927 次浏览 来自 分享

检测非法字模块 代码仓库 在游戏项目里,针对玩家的昵称,一般会选择让玩家去自助选择一个程序随机生成的昵称,或者,自己手动填写一个昵称,而对于玩家填写的字符来说,有的玩家会写一些非法,涉黄,敏感词以及一些比较粗俗的词汇作为自己的昵称,这就需要程序去检测过滤掉这些字符。 下面的模块,是我们在游戏项目中使用过的非法字符模块,今天拿出来分享一下。 屏蔽词库的量还是相当大的,源文件我已经丢失了,如果需要可以去问百度君。

fuckword

method

check name contains fuck word


var fuckword = require('fuckword');
var name = 'fuck';
var isIllegal = fuckword.checkNameIllegal(name);
if(isIllegal){
    console.log('name contains fuck word');
}

transfer content` word which contains fuck word to *


var fuckword = require('fuckword');
var name = 'fuck you !!!!';
var transferedContent = fuckword.transferChatContent(name,"*");

console.log('transferedContent is :',transferedContent);
//the result is -->>>transferedContent is :***k you !!!
10 回复

不好意思,昨天写的代码有误,已更正。

mark

来自酷炫的 CNodeMD

如我所想是用这个树的形式匹配,不过中间过程用eval我是比较不喜欢,

@captainblue2013 仁兄有何高见?

版本已更新,之前的屏蔽词库有些许问题,先已生成最新的屏蔽词配置。

@captainblue2013 正所谓有比没有强,如果有eval的替换方案,我也不会使用eval.

赞,mark

来自酷炫的 CNodeMD

顶一下 ☺️

下午又写了个正则表达式版本的屏蔽词检测工具, 晚上回去搞搞 发到npm上去

回到顶部