А я думаю, что так не пойдет.

Код:
for (i=0; i<badSym.length; i++) {
if (text.indexOf(badSym[i])>-1) {
return false;
}
}
Если в строке хотя бы ОДИН плохой символ, функция вернет false и привет. Суть же вопроса, чтобы в строке НЕ ВСЕ символы были плохими.