Wulgaryzmy Javascript pasują NIE zastępują

Buduję bardzo prosty filtr wulgaryzmów, na którym chcę się tylko staraćniektóre pola na mojej aplikacji (fullName, userDescription) na stroniepo stronie serwera.

Czy ktoś ma doświadczenie z filtrem wulgaryzmów w produkcji? Chcę tylko, aby:

'ass hello' <- match
'asster' <- NOT match

Poniżej znajduje się mój obecny kod, ale zwraca true i false onkolejno z jakiegoś powodu.

var badWords = [ 'ass', 'whore', 'slut' ]
  , check = new Regexp(badWords.join('|'), 'gi');

function filterString(string) {
  return check.test(string);
}

filterString('ass'); // Returns true / false in succession.

Jak mogę naprawić ten błąd „jeden po drugim”?

questionAnswers(3)

yourAnswerToTheQuestion