Monday, January 6, 2025
Google search engine
HomeLanguagesJavascriptHow to Generate a Random Password using JavaScript ?

How to Generate a Random Password using JavaScript ?

This article will show you how to generate a random password that may consist of alphabets, numbers, and special characters. This can be achieved in various ways.

In this article, we will discuss the most popular two methods which are discussed below to solve the problem. 

Approach 1: Make a string consisting of Alphabets (lowercase and uppercase), Numbers, and Special Characters. We will use Math.random() and Math.floor() methods to generate a number between 0 and l-1 (where l is the length of the string). To get the character of the string of a particular index we can use .charAt() method. This will keep concatenating the random character from the string until the password of the desired length is obtained.

Example: This example implements the above approach. 

Javascript




/* Function to generate combination of password */
function generatePass() {
    let pass = '';
    let str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' +
        'abcdefghijklmnopqrstuvwxyz0123456789@#$';
 
    for (let i = 1; i <= 8; i++) {
        let char = Math.floor(Math.random()
            * str.length + 1);
 
        pass += str.charAt(char)
    }
 
    return pass;
}
 
console.log(generatePass());


Output

QqW9Ohc2

 Approach 2: In this approach, we will use Math.random() method to generate a number in between 0 and 1 then convert it to base36(which will consist of 0-9 and a-z in lowercase letters) using .toString() method. To remove the leading zero and decimal point slice() method will be used and Math.random().toString(36).slice(2) to generate the password. For uppercase letters use the same method with .uppercase() method in concatenation with the previous method.

Example: This example implements the above approach. 

Javascript




function randomPassword() {
    console.log(
        Math.random().toString(36).slice(2) +
        Math.random().toString(36)
        .toUpperCase().slice(2));
}
 
randomPassword();


Output

7wnrr29q18dF3IRQHMPTCW

RELATED ARTICLES

Most Popular

Recent Comments