Вам не нужен цикл для проверки каждого слова, поскольку вы можете поместить их все в одно регулярное выражение (разделенное символом |
) и позволить механизму регулярных выражений искать любое из них сразу.Вы можете сделать это следующим образом:
function unacceptable(pwd){
var unforgivable = [
"password",
"12345678",
"8675309",
"[a-z]{8,}",
"qwerty",
"asdfg",
"qazwsx",
"zxcvb",
"letmein",
"trustno1",
"omnicloud",
"monkey"
];
var re = new RegExp(unforgivable.join("|"), "i");
return re.test(pwd);
}
Рабочая демонстрация здесь: http://jsfiddle.net/jfriend00/cyVbC/
PS Вам не нужно помещать все слова в массив.Вы можете просто заранее объявить все регулярные выражения, но я подумал, что помещение их в массив, как это, сделало бы более читабельный код, который было бы проще поддерживать.