/
Pupa
/
Password_generator
Обзор
Документация
Войти
/
Pupa
/
Password_generator
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
script.js
113 строк
3 KB
Pupa
Create: script.js, style.scss, copy.svg, lock.svg, pass.svg, style.css, style.css.map
22 июл 2026, 22:44
Верифицирован
22 июл 2026, 22:44
e863816
Код
Авторство
О чём код?
let quantity = document.querySelector('#quantity'); // Получение скролл-бара и количества символов let range = document.querySelector('#range'); quantity.value = range.value range.addEventListener('input', function(){ // получение значения из скролл-бара и вывод его в инпут quantity.value = this.value }) // Реализация функции копирования let copyBtn = document.querySelector("#copyText") copyBtn.addEventListener('click', function() { let password = document.querySelector('#password'); let textToCopy = password.value; navigator.clipboard.writeText(textToCopy) }) // Получаем доступ к чекбоксам let flag_up = false let flag_low = false let flag_spec = false let flag_num = false is_uppercase = document.querySelector('#uppercase') is_lowercase = document.querySelector('#lowercase') is_special = document.querySelector('#special') is_numbers = document.querySelector('#numbers') // Изменение состояния чекбокса is_uppercase.addEventListener('change', function() { flag_up = this.checked console.log(flag_up) }) is_lowercase.addEventListener('change', function() { flag_low = this.checked }) is_special.addEventListener('change', function() { flag_spec = this.checked }) is_numbers.addEventListener('change', function() { flag_num = this.checked }) // Реализация функции перемешивания символов пароля function shufflePassword(symbols) { let array = symbols.split("") for (let i = array.length - 1; i > 0; i--) { var index = Math.floor(Math.random() * (i + 1)) var temp = array[i] array[i] = array[index] array[index] = temp } return array.join("") } // Функция формирования строки из которой будет потом строиться пароль let submit = document.querySelector('#submit'); submit.addEventListener('click', function() { let output = document.querySelector('#password') uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' lowercase = 'abcdefghijklmnopqrstuvwxyz' numbers = '1234567890' special = '!@#%^&*()' quant = parseInt(quantity.value) || 8 symbols = '' // Если чекбокс нажат if (flag_up == true) { symbols = symbols.concat(uppercase) } if (flag_low == true) { symbols = symbols.concat(lowercase) } if (flag_num == true) { symbols = symbols.concat(numbers) } if (flag_spec == true) { symbols = symbols.concat(special) } // Если не выбраны чекбоксы if (symbols == '') { console.log('Отметье чекбоксы') output.value = 'Отметье чекбоксы!' } else { shuffled = shufflePassword(symbols) let result_pass = shuffled.slice(0, quant) console.log(result_pass) output.value = result_pass } })