strong password generator javascript code example
Example 1: javascript password generator example
function generatePassword(passwordLength) {
var numberChars = "0123456789";
var upperChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var lowerChars = "abcdefghijklmnopqrstuvwxyz";
var allChars = numberChars + upperChars + lowerChars;
var randPasswordArray = Array(passwordLength);
randPasswordArray[0] = numberChars;
randPasswordArray[1] = upperChars;
randPasswordArray[2] = lowerChars;
randPasswordArray = randPasswordArray.fill(allChars, 3);
return shuffleArray(randPasswordArray.map(function(x) { return x[Math.floor(Math.random() * x.length)] })).join('');
}
function shuffleArray(array) {
for (var i = array.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
alert(generatePassword(12));
Example 2: JavaScript Password Generator
function generate() {
let password = "";
let length = +document.getElementById("length").value;
let lowerCase = document.getElementById("lowercase").checked;
let upperCase = document.getElementById("uppercase").checked;
let symbol = document.getElementById("symbols").checked;
let number = document.getElementById("numbers").checked;
if (lowerCase + upperCase + symbol + number <= 0)
return;
for (let i = 0; i < length; i++) {
const r = generater(0, 3);
if (lowerCase && r === 0) {
password += generateRandomLowerCase();
} else if (upperCase && r === 1) {
password += generateRandomUpperCase();
} else if (symbol && r === 2) {
password += generateRandomSymbol();
} else if (number && r === 3) {
password += generater(0, 9);
} else {
i--;
}
}
document.getElementById("result").textContent = password;
}
generate();
function generateRandomLowerCase() {
return String.fromCharCode(generater(97, 122));
}
function generateRandomUpperCase() {
return String.fromCharCode(generater(65, 90));
}
function generateRandomSymbol() {
const symbols = "~*$%@#^&!?*'-=/,.{}()[]<>";
return symbols[generater(0, symbols.length - 1)];
}
function generater(min = 0, max = 1) {
return Math.floor(Math.random() * (max + 1 - min) + min);
}