При создании всяких админ-панелей, или сайтов с возможностью регистрации часто возникает необходимость выполнить генерация пароля javascript. Например для того, чтобы создать для пользователя пароль, если он не может сам придумать.
Задача в общем-то простая.
Генерация пароля javascript — пример кода
Сразу приведем код генерации, а потом рассмотрим алгоритм работы, чтобы понять в какую сторону копать.
function generate(len) { var ints =[0,1,2,3,4,5,6,7,8,9]; var chars=['a','b','c','d','e','f','g','h','j','k','l','m','n','o','p','r','s','t','u','v','w','x','y','z']; var out=''; for(var i=0;i<len;i++){ var ch=Math.random(1,2); if(ch<0.5){ var ch2=Math.ceil(Math.random(1,ints.length)*10); out+=ints[ch2]; }else{ var ch2=Math.ceil(Math.random(1,chars.length)*10); out+=chars[ch2]; } } return out; }
Итак у нас есть функция generate, которая принимает 1 параметр — длинну пароля, эта функция и делает генерацию пароля javascript.
Сначала мы создаём 2 массива: массив всех цифр и массив всех символов англ. алфавита.
Декларируем пустую переменную для результата.
А затем в цикле от 0 до нужной длинный пароля (которую передаём параметром в функцию), выполняем следующее:
Получаем случайное число.
Если это число меньше 0.5, то получаем случайный номер элемента массива чисел.
Если это число больше 0.5, то получаем случайный номер элемента массива символов.
Добавляем соответствующий элемент к паролю.
На выходе мы получим случайны пароль заданной длинны.
Генерация пароля javascript — пример использования
Для использования этой функции нужно вызвать её и подставить полученный пароль в нужно место.
Например:
$('input').val(generate(12));
В результате получим в поле для ввода input пароль из 12-ти символов. Для выполнения этого конкретного примера потребуется jquery, но сама по себе функция генерации пароля работает на чистом javascript.
На последок даём ссылку на jsFiddle, для того, чтобы можно было пошаманить с кодом: jsfiddle.net/cpGEP/