Skip to content

rubiin/unprofane

Repository files navigation

Unprofane

A typescript profanity detector and filter for Node.js and the browser.

Installation

$ npm i unprofane

In Node.js:

const Unprofane = require('unprofane'); //or import Unprofane from 'unprofane'

Example Usage

const isProfane = new Unprofane({lang : 'all'}); //Multilingual support for word filtering //{lang : 'all'} represents all language word filter //Available language are ['ar','cs','da','en','eo','es','fa','fi','fr','hi','hu','it','ja','ko','nl','no','pl','pt','ru','sv','th','tlh','zh'] //profanity check returns boolen console.log(isProfane.check("Don't be an ash0le")); //true //profanity clean returns cleaned word console.log(isProfane.censor("Don't be an ash0le")); //Don't be an ******

Note: Default value for Unprofane { lang : 'all', placeHolder: '*' }.

Placeholder Overrides

const isProfane = new Unprofane({ placeHolder: 'x'}); isProfane.censor("Don't be an ash0le"); //Don't be an xxxxxx

Regex Overrides

const isProfane = new Unprofane({ regex: /\*|\.|$/gi }); const isProfane = new Unprofane({ replaceRegex: /[A-Za-z0-9-_]/g });

Add words to the blacklist

const isProfane = new Unprofane(); isProfane.addWords(['some', 'bad', 'word']); isProfane.censor("some bad word!") //**** *** ****! isProfane.check("some bad word!") //true //or const isProfane = new Unprofane({ list: ['some', 'bad', 'word'] }); isProfane.censor("some bad word!") //**** *** ****! isProfane.check("some bad word!") //true

Instantiate with an empty list

const isProfane = new Unprofane({ emptyList: true }); isProfane.censor('hell this wont clean anything'); //hell this wont clean anything isProfane.censor('hell this wont clean anything'); //false

Remove words from the blacklist

const isProfane = new Unprofane(); isProfane.removeWords(['hells', 'sadist']); isProfane.censor("some hells word!"); //some hells word! isProfane.check("some hells word!"); //false

Exclude words from the profanity list

const isProfane = new Unprofane({ exclude: ['ash0le'] }); isProfane.check("Don't be an ash0le"); //false isProfane.censor("Don't be an ash0le"); //Don't be an ash0le

Export words list with language

const isProfane = new Unprofane(); isProfane.wordsList('all'); // [ "Asesinato", "*shit*"...] isProfane.wordsList('es'); // [ "Asesinato", "Bollera",..] isProfane.wordsList('en'); // [ "*dyke", "*shit*"...] // on error lang is 'all'

About

Profanity filter library

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors