本文介绍npm包simple-profanity-filter-with-whitelist的使用方法,这是一个轻量级的过滤脏话的工具,适合前端开发者使用。
前言
在应用开发中,我们常常需要过滤掉一些不适合出现在应用中的词汇,例如脏话、辱骂、种族歧视等。虽然前端浏览器提供了JavaScript的replace函数,但是people的创新创造力也是不可小觑的。在这种情况下,使用专门的npm安装包是非常必要的。
在近几年,很多开发者创造了很多去除profanity的工具,这里我们介绍使用npm包simple-profanity-filter-with-whitelist,用白名单弥补一些不是脏话的单词被误判的情况。
安装
使用NPM安装该库:
npm install simple-profanity-filter-with-whitelist --save
使用
基础使用
const profanityFilter = require('simple-profanity-filter-with-whitelist'); const text = 'Oh shit, He is a fucking asshole.'; const filteredText = profanityFilter(text); console.log(filteredText); // Oh, He is a !
添加白名单
const profanityFilter = require('simple-profanity-filter-with-whitelist'); const text = 'Oh shit, He is a fucking asshole.'; const whitelist = ['fucking']; const filteredText = profanityFilter(text, { whitelist }); console.log(filteredText); // Oh, He is a fucking asshole.
详解
simple-profanity-filter-with-whitelist
库允许你过滤一段字符串中的脏话,同时还可以通过白名单允许一些单词被保留。
API
使用方法很简单,该类默认导出一个函数,可以直接引入。
const profanityFilter = require('simple-profanity-filter-with-whitelist');
profanityFilter(str, options?)
str
(string) 待过滤字符串options
(object)minCharacters
(number) 最少脏话字数。 默认为1
。replaceChar
(string) 替换字符。 默认为!
。whitelist
(array) 白名单。为允许某些单词而设置。 默认为空数组[]
。
现在我们可以使用该函数对传入字符串进行过滤:
const text = 'Oh shit, He is a fucking asshole.'; const filteredText = profanityFilter(text); console.log(filteredText); // Oh, He is a !
在上面的代码中,Oh shit
和fucking asshole
被过滤了。 在这里,我们通过调用profanityFilter
函数来对传入的字符串进行过滤操作。
添加白名单
有时候,有一些单词会被误认为是脏话。在这种情况下,我们可以添加这个单词到白名单中来避免被过多过滤。
const text = 'Oh shit, He is a fucking asshole.'; const whitelist = ['fucking']; const filteredText = profanityFilter(text, { whitelist }); console.log(filteredText); // Oh, He is a fucking asshole.
在上面的代码中,fucking
单词被添加到白名单中并且通过白名单机制而留下。
结语
在这篇文章中,我们学习了npm包simple-profanity-filter-with-whitelist的使用方法,包括了基本的过滤和使用白名单,以及默认选项。我们希望这篇文章可以帮助前端开发者更好的处理类似的任务。
参考链接
- npm官网:https://www.npmjs.com/package/simple-profanity-filter-with-whitelist
- Github地址:https://github.com/sunilhari/simple-profanity-filter-with-whitelist
- StackOverflow:https://stackoverflow.com/questions/8582448/profanity-filter-for-javascript
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600554d081e8991b448d2020