Решение задачи генератор паролей
<!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>
<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];
}
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-код для генерации пароля и обработки события нажатия кнопки "Сгенерировать пароль". Результат выводится ниже формы.