Neo54213, без учёта регистра или убрать .toLowerCase()
function quest(str,arr)
{
return arr.filter(function(el) {
return str.split(/[-\.,\s!]+/).every(function(word) {
return el.toLowerCase().split(/[-\.,\s!]+/).indexOf(word.toLowerCase()) !== -1
})
})
}
var arr = ["В голове моей опилки", "Да, да, да. Но хотя там и опилки", "Но кричалки и вопилки, Но кричалки и вопилки", "А также: Шумелки, пыхтелки и сопелки","Сочинию я неплохо иногда."]
alert(quest("в голове опилки",arr));
alert(quest("опилки",arr));