Валидатор Password
Привет!
Прошу помощи в решении проблемы. Делаю функцию валидатора Password. По условию, в Password должны присутствовать хотя бы одна цифра, хотя бы одна заглавная буква, хотя бы одна строчная буква и длина Password должна быть хотя бы 8 символов. Ок. Вот что есть: function password(str) { var Digit = /[0-9]/.test(str) //хотя бы одна цифра var Upper = /[A-Z]/.test(str) //хотя бы одна заглавная буква var Lower = /[a-z]/.test(str) //хотя бы одна строчная буква for (var i = 0; i < str.length; i++) { if(Digit && Upper && Lower && str.length > 7) { return true; } else { return false } } } function password(); При вводе любой комбинации в function password(/*** Вот сюда ***/) функция не работает, консоль выдаёт ошибку Unexpected token ; или } В моём понимании всё написано верно. В чём кроется проблема? |
Если вы в последней строке пытаетесь вызвать вашу функцию, то слово function писать не надо
|
Цитата:
|
посмотрите на поведение функции в отладчике пошагово, попробуйте передать пустую и не пустую строку
и ответьте себе на вопрос: сколько раз вы хотите выполнить тело цикла? и как это число должно зависеть от длины строки? |
FeelUs,
function password(str) { var Digit = /[0-9]/.test(str); var Upper = /[A-Z]/.test(str); var Lower = /[a-z]/.test(str); if (Digit && Upper && Lower && str.length > 7) return true; else return false }; alert([password("123"),password("ZZZ"),password("1Za"),password("1Za1Za1Za")]); |
еще чуть чуть:
return Digit && Upper && Lower && str.length > 7; но так можно делать, если уверен, что все значения булевские иначе можно выполнить в консоли true && 7 или 6 && null и посмотреть что получится |
Цитата:
|
Часовой пояс GMT +3, время: 06:53. |