JavaScript 如何生成随机密码
本文将向您展示如何生成由字母、数字和特殊字符组成的随机密码。这可以通过多种方式实现。
在本文中,我们将讨论两种最流行的方法来解决这个问题,如下所述。
方法1
构建一个由字母(小写和大写)、数字和特殊字符组成的字符串。我们将使用 Math.random() 和 Math.floor() 方法生成一个介于0和l-1之间的数字(其中l是字符串的长度)。为了获取字符串中特定索引的字符,我们可以使用 .charAt()方法 。这将不断将随机字符从字符串中连接起来,直到获得所需长度的密码。
示例: 此示例实现了上述方法。
/* 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());
输出
QqW9Ohc2
方法2
在这种方法中,我们将使用 Math.random() 方法生成一个介于0和1之间的数字,然后使用 .toString() 方法将其转换为 base36(它将由0-9和小写字母a-z组成) 。然后使用 slice() 方法移除前导零和小数点,使用 Math.random().toString(36).slice(2) 生成密码。对于大写字母,使用相同的方法并在前面的方法中连接.uppercase() 方法。
示例: 这个示例实现了上述方法。
function randomPassword() {
console.log(
Math.random().toString(36).slice(2) +
Math.random().toString(36)
.toUpperCase().slice(2));
}
randomPassword();
输出
7wnrr29q18dF3IRQHMPTCW
极客教程