Генератор паролей на JavaScript

Генератор паролей на JavaScript

Генератор паролей на JavaScript

Доброго времени суток! Сегодня мы с Вами создадим простой генератор паролей на JavaScript.
Пароли, которые будут создаваться данным генератором подойдут в качестве хороших паролей для регистрации
на различных сервисах.

Итак, рассмотрим код:



<!DOCTYPE html>

<html lang="ru">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Генератор Паролей</title>

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">

</head>

<body>

<div class="container mt-5">

  <h1 class="mb-4">Генератор Паролей</h1>

  <div class="form-group">

    <label for="length">Длина пароля:</label>

    <input type="number" class="form-control" id="length" value="12" min="6" max="50">

  </div>

  <div class="form-group">

    <div class="form-check">

      <input type="checkbox" class="form-check-input" id="lowercase" checked>

      <label class="form-check-label" for="lowercase">Включить строчные буквы</label>

    </div>

    <div class="form-check">

      <input type="checkbox" class="form-check-input" id="uppercase" checked>

      <label class="form-check-label" for="uppercase">Включить заглавные буквы</label>

    </div>

    <div class="form-check">

      <input type="checkbox" class="form-check-input" id="numbers" checked>

      <label class="form-check-label" for="numbers">Включить цифры</label>

    </div>

    <div class="form-check">

      <input type="checkbox" class="form-check-input" id="symbols" checked>

      <label class="form-check-label" for="symbols">Включить символы</label>

    </div>

  </div>

  <button type="button" class="btn btn-primary mr-2" onclick="displayGeneratedPassword()">Сгенерировать Пароль</button>

  <button type="button" class="btn btn-secondary" onclick="copyToClipboard()">Скопировать в буфер обмена</button>

  <p class="mt-3" id="password"></p>

</div>



<script>

function generatePassword(length, lowercase, uppercase, numbers, symbols) {

  const charset = [];

  if (lowercase) charset.push("abcdefghijklmnopqrstuvwxyz");

  if (uppercase) charset.push("ABCDEFGHIJKLMNOPQRSTUVWXYZ");

  if (numbers) charset.push("0123456789");

  if (symbols) charset.push("!@#$%^&*()-_=+");



  const charsetString = charset.join('');



  let password = "";

  for (let i = 0; i < length; i++) {

    const randomIndex = Math.floor(Math.random() * charsetString.length);

    password += charsetString[randomIndex];

  }

  return password;

}



function displayGeneratedPassword() {

  const length = parseInt(document.getElementById("length").value);

  const lowercase = document.getElementById("lowercase").checked;

  const uppercase = document.getElementById("uppercase").checked;

  const numbers = document.getElementById("numbers").checked;

  const symbols = document.getElementById("symbols").checked;



  const password = generatePassword(length, lowercase, uppercase, numbers, symbols);

  const passwordField = document.getElementById("password");

  passwordField.textContent = password;

  passwordField.style.color = "#000"; // пароль должен быть виден на фоне страницы

}



function copyToClipboard() {

  const passwordField = document.getElementById("password");

  const passwordText = passwordField.textContent;



  // Создаем временный элемент ввода

  const tempInput = document.createElement("input");

  tempInput.value = passwordText;

  document.body.appendChild(tempInput);



  // Выбираем весть текст в этом элементе

  tempInput.select();

  tempInput.setSelectionRange(0, 99999); // Для мобильных устройств



  // Копируем текст в буфер обмена

  document.execCommand("copy");



  // Удаляем временный элемент ввода

  document.body.removeChild(tempInput);



  alert("Пароль скопирован в буфер обмена!");

}

</script>



</body>

</html>





Вот такой генератор паролей мы с Вами рассмотрели в данной статье. А для тех, кто заинтересовался возможностями
языка JavaScript, у меня есть отличный видеокурс «Программирование на JavaScript с Нуля до Гуру 2.0″, который научит Вас программировать на одном из самых востребованных языков программирования в мире — языке JavaScript.

Источник

НЕТ КОММЕНТАРИЕВ

Оставить комментарий