September 2, 2023

Решение задачи генератор паролей

<!DOCTYPE html> <html> <head> <title>Генератор паролей</title> </head> <body> <h1>Генератор паролей</h1>

<form id="passwordForm"> <label for="length">Длина пароля:</label> <input type="number" id="length" min="1" value="8"><br><br>

<label>Типы символов:</label><br> <input type="checkbox" id="uppercase" checked> <label for="uppercase">Заглавные буквы</label><br>

<input type="checkbox" id="lowercase" checked> <label for="lowercase">Строчные буквы</label><br>

<input type="checkbox" id="numbers" checked> <label for="numbers">Цифры</label><br>

<input type="checkbox" id="specialChars"> <label for="specialChars">Специальные символы</label><br><br>

<button type="button" id="generateButton">Сгенерировать пароль</button> </form>

<div id="result"></div>

<script> function generatePassword(length, useUppercase, useLowercase, useNumbers, useSpecialChars) { // Создаем строки с наборами символов const uppercaseChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; const lowercaseChars = 'abcdefghijklmnopqrstuvwxyz'; const numberChars = '0123456789'; const specialChars = '!@#$%^&*()_+[]{}|;:,.<>?';

// Создаем пустую строку для хранения всех возможных символов let allChars = '';

// Добавляем выбранные наборы символов в общую строку if (useUppercase) { allChars += uppercaseChars; } if (useLowercase) { allChars += lowercaseChars; } if (useNumbers) { allChars += numberChars; } if (useSpecialChars) { allChars += specialChars; }

// Проверяем, что было выбрано хотя бы одно множество символов if (allChars === '') { return 'Выберите хотя бы один набор символов.'; }

// Генерируем пароль let password = ''; for (let i = 0; i < length; i++) { const randomIndex = Math.floor(Math.random() * allChars.length); password += allChars[randomIndex]; }

return password; }

const generateButton = document.getElementById('generateButton'); const result = document.getElementById('result');

generateButton.addEventListener('click', function() { const length = parseInt(document.getElementById('length').value); const useUppercase = document.getElementById('uppercase').checked; const useLowercase = document.getElementById('lowercase').checked; const useNumbers = document.getElementById('numbers').checked; const useSpecialChars = document.getElementById('specialChars').checked;

const password = generatePassword(length, useUppercase, useLowercase, useNumbers, useSpecialChars);

result.textContent = password; }); </script> </body> </html>

Этот HTML-код создает форму, в которой пользователь может настроить параметры генерации пароля, и JavaScript-код для генерации пароля и обработки события нажатия кнопки "Сгенерировать пароль". Результат выводится ниже формы.

Ссылка на код: