Ответы пользователя по тегу Регулярные выражения
  • Как узнать почему функция не проходит тест?

    Сначала нужно узнать на какой строке затыкается проверка. Надо перед ретурном поставить вывод в консоль. Вот так:
    function validate(password) {
    console.log(password);
    return /[a-z]/.test(password) && /[0-9]/.test(password)&& /[A-Z]/.test(password)&& /\w{6}/.test(password) ;
    }

    Выясняется, что затык на строке "fjd3IR9.;" - обрати внимание, что последнее условие " /\w{6}/" - это в переводе на понятный "возврати true если в строке увидишь 6 символов подряд", поэтому для этой строки это TRUE.

    \w («w»: от английского «word» – «слово»)
    Символ «слова», а точнее – буква латинского алфавита или цифра или подчёркивание _. Нелатинские буквы не являются частью класса \w, то есть буква русского алфавита не подходит.


    А теперь обрати внимание, что в условиях каты в самом низу есть
    Valid passwords will only be alphanumeric characters.
    т.е. символы только алфавитно-цифровые. В примере выше есть точка и точка с запятой, а раз они есть, то должно вернуть FALSE.
    Ответ написан
    Комментировать