Inter-Net.PRO

Генератор случайных паролей на JavaScript

  • 359 87
10 окт 2018 19:01 #1 от Inter-Net PRO
Генератор паролей на JS
Demo генератора паролей:
Укажите какие символы включать...

генератор паролей

  В данной записи я выкладываю код на JavaScript, который реализует генерацию случайных паролей.

  Если вдруг у вас стоит задача сделать генерацию паролей, то это вполне годное готовое решение, которое можно очень легко переделать под любые нужды и задачи.

  Оцените рабочий пример в демке и посмотрите код с решением данного примера.

Подробнее...

07 апр 2019 11:47 #2 от Дмитрий Травкин
Как это вставить в Wordpess? после нажатия кнопки сгенерировать, ничего не происходит.

07 апр 2019 13:30 #3 от Дмитрий Травкин
Попробовал вставить просто создать файл отдельный, тогда работает, значит дело в плагине шорткода

07 апр 2019 14:46 #4 от Дмитрий Травкин
В IE кнопка вообще неактивна. В чём проблема не могу понять.

  • 359 87
07 апр 2019 21:23 - 07 апр 2019 21:26 #5 от Inter-Net PRO

Дмитрий Травкин пишет: Как это вставить в Wordpess? после нажатия кнопки сгенерировать, ничего не происходит.

Попробуйте установить слушатель на событие DOMContentLoaded (запускает работу скрипта после того как загрузился HTML-документ). Просто оберните скрипт такой конструкцией:
document.addEventListener("DOMContentLoaded", function() {
    // тут код скрипта
});

Дмитрий Травкин пишет: В IE кнопка вообще неактивна. В чём проблема не могу понять.

Да, в IE скрипт работать не будет, так как это устаревший браузер. А у меня скрипт написан в синтаксисе ES-6. IE его не поддерживает.
Чтобы заработало в IE, нужно в объявлении переменных заменить let и const на var. А лучше всего прогнать через babel. Тогда получится такой скрипт:
"use strict";
document.addEventListener("DOMContentLoaded", function () {
  var arr_num = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  var arr_en = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
  var arr_EN = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
  var arr_symb = ['!', '@', '#', '$', '%', '?', '-', '+', '=', '~'];
  var compareRandom = function compareRandom() {
    return Math.random() - 0.5;
  };
  var randomInteger = function randomInteger(min, max) {
    return Math.round(min - 0.5 + Math.random() * (max - min + 1));
  };
  function generatePassword() {
    var arr = [];
    if (document.querySelector('#arr_num').checked) arr = arr.concat(arr_num);
    if (document.querySelector('#arr_en').checked) arr = arr.concat(arr_en);
    if (document.querySelector('#arr_EN').checked) arr = arr.concat(arr_EN);
    if (document.querySelector('#arr_symb').checked) arr = arr.concat(arr_symb);
    arr.sort(compareRandom);
    var password = '';
    var passLenght = document.querySelector('#passLenght').value;
    for (var i = 0; i < passLenght; i++) {
      password += arr[randomInteger(0, arr.length - 1)];
    }
    document.querySelector('#result').textContent = password;
  }
  document.querySelector('#pass_start').addEventListener('click', generatePassword);
});
Вот тут онлайн кампилятор бабель на оф сайте:  https://babeljs.io/repl

Авторизация

Войти через соцсети: