Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.02.2016, 15:23
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

Валидатор 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 ; или }
В моём понимании всё написано верно. В чём кроется проблема?
Ответить с цитированием
  #2 (permalink)  
Старый 07.02.2016, 16:12
Интересующийся
Отправить личное сообщение для FeelUs Посмотреть профиль Найти все сообщения от FeelUs
 
Регистрация: 09.01.2016
Сообщений: 23

Если вы в последней строке пытаетесь вызвать вашу функцию, то слово function писать не надо
Ответить с цитированием
  #3 (permalink)  
Старый 07.02.2016, 16:21
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

Сообщение от FeelUs Посмотреть сообщение
Если вы в последней строке пытаетесь вызвать вашу функцию, то слово function писать не надо
Согласен, но даже пусть мы уберём слово "function" и передадим параметр внутрь этой функции, консоль выдаст Not defined
Ответить с цитированием
  #4 (permalink)  
Старый 07.02.2016, 16:41
Интересующийся
Отправить личное сообщение для FeelUs Посмотреть профиль Найти все сообщения от FeelUs
 
Регистрация: 09.01.2016
Сообщений: 23

посмотрите на поведение функции в отладчике пошагово, попробуйте передать пустую и не пустую строку
и ответьте себе на вопрос: сколько раз вы хотите выполнить тело цикла? и как это число должно зависеть от длины строки?
Ответить с цитированием
  #5 (permalink)  
Старый 07.02.2016, 17:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

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")]);
Ответить с цитированием
  #6 (permalink)  
Старый 07.02.2016, 18:01
Интересующийся
Отправить личное сообщение для FeelUs Посмотреть профиль Найти все сообщения от FeelUs
 
Регистрация: 09.01.2016
Сообщений: 23

еще чуть чуть:
return Digit && Upper && Lower && str.length > 7;

но так можно делать, если уверен, что все значения булевские
иначе можно выполнить в консоли true && 7 или 6 && null и посмотреть что получится
Ответить с цитированием
  #7 (permalink)  
Старый 07.02.2016, 18:09
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Сообщение от FeelUs Посмотреть сообщение
еще чуть чуть:
return Digit && Upper && Lower && str.length > 7;

но так можно делать, если уверен, что все значения булевские
А как метод test для регулярного выражения может вернуть не булевское значение?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При снятия «галки» ( password) введенные символы отображаются текстом Taylor jQuery 3 27.12.2015 00:18
Валидатор делает замечание morev Ваши сайты и скрипты 10 05.03.2012 21:06
input.type = 'password' неработает в ie Papa Общие вопросы Javascript 3 20.07.2010 01:06
Валидатор ругается на onfocus SeregaS (X)HTML/CSS 7 25.02.2010 09:55
Валидатор ругается micscr (X)HTML/CSS 4 24.11.2009 14:45