This can be done using some / every Array and RegEx methods.
To check if ALL words from a list (array) are present in a string:
const multiSearchAnd = (text, searchWords) => ( searchWords.every((el) => { return text.match(new RegExp(el,"i")) }) ) multiSearchAnd("Chelsey Dietrich Engineer 2018-12-11 Hire", ["cle", "hire"]) //returns false multiSearchAnd("Chelsey Dietrich Engineer 2018-12-11 Hire", ["che", "hire"]) //returns true
To check if there are ANY words from a list (array) in a string:
const multiSearchOr = (text, searchWords) => ( searchWords.some((el) => { return text.match(new RegExp(el,"i")) }) ) multiSearchOr("Chelsey Dietrich Engineer 2018-12-11 Hire", ["che", "hire"]) //returns true multiSearchOr("Chelsey Dietrich Engineer 2018-12-11 Hire", ["aaa", "hire"]) //returns true multiSearchOr("Chelsey Dietrich Engineer 2018-12-11 Hire", ["che", "zzzz"]) //returns true multiSearchOr("Chelsey Dietrich Engineer 2018-12-11 Hire", ["aaa", "1111"]) //returns false
source share