简介
现在的 Web 应用中,过滤敏感词汇、限制用户输入的内容非常重要。但是手动编写敏感词汇的验证规则非常繁琐且容易漏掉一些词汇。这时候我们可以使用 npm 包 @nightjar-io/nightjar-profanity
来轻松解决这个问题。
@nightjar-io/nightjar-profanity
是一个敏感词汇过滤工具,使用 JavaScript 编写,支持在浏览器以及 Node.js 中使用。
安装
您可以使用 npm 或 yarn 安装该包:
npm i @nightjar-io/nightjar-profanity # 或者 yarn add @nightjar-io/nightjar-profanity
同时需要注意,该包使用了 async/await 函数,所以需要 Node.js 版本在 7.6 以上才能正常使用。
使用
浏览器
您可以在浏览器中使用 @nightjar-io/nightjar-profanity
。使用 script
标签将该包的适当版本引入您的 HTML 文档中。一般情况下,我们会选择引入 UMD 版本的包,这样可以兼容大部分浏览器:
<script src="https://unpkg.com/@nightjar-io/nightjar-profanity"></script>
引入包后,您只需要调用 validate
方法即可。如下所示:
const profanityFilter = new NightjarProfanity(); console.log(profanityFilter.validate('my awe5ome password')); // false console.log(profanityFilter.validate('my not so great password')); // true
Node.js
在 Node.js 中使用 @nightjar-io/nightjar-profanity
也非常简单。您只需要安装包之后,将其引入您的代码中即可。如下所示:
const NightjarProfanity = require('@nightjar-io/nightjar-profanity').default; const profanityFilter = new NightjarProfanity(); console.log(profanityFilter.validate('my awe5ome password')); // false console.log(profanityFilter.validate('my not so great password')); // true
自定义词汇
如果您需要自定义一些敏感词汇来过滤,您可以在构造函数时传入一个数组。如下所示:
const customWords = ['custom', 'filter']; const profanityFilter = new NightjarProfanity(customWords); console.log(profanityFilter.validate('this should not pass our custom filter')); // false
值得一提的是,该包默认使用了它自己的预定义词汇字典来验证,可以在构造函数中指定使用的字典。如下所示:
const dict = require('@nightjar-io/nightjar-profanity/dist/Dictionary/en_US.json'); const profanityFilter = new NightjarProfanity(undefined, dict); console.log(profanityFilter.validate('hell is not a proper word in the english language')); // true
总结
@nightjar-io/nightjar-profanity
是一个方便易用的敏感词汇过滤 npm 包。它提供了浏览器和 Node.js 两个版本,并且支持自定义敏感词汇词典。它的简单易用性以及高度可配置性,使其成为了前端开发人员们的利器。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055e3481e8991b448dbb11