在 JavaScript 中生成随机字符串/字符
2022-08-29 21:53:10
我想要一个由从集合中随机选择的字符组成的5个字符的字符串。[a-zA-Z0-9]
使用 JavaScript 执行此操作的最佳方法是什么?
我想要一个由从集合中随机选择的字符组成的5个字符的字符串。[a-zA-Z0-9]
使用 JavaScript 执行此操作的最佳方法是什么?
我认为这对你有用:
function makeid(length) {
var result = '';
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var charactersLength = characters.length;
for ( var i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() *
charactersLength));
}
return result;
}
console.log(makeid(5));
//Can change 7 to 2 for longer results.
let r = (Math.random() + 1).toString(36).substring(7);
console.log("random", r);
注意:上述算法具有以下缺点:
Math.random()
可能会产生可预测的(“随机”外观,但不是真正的随机)输出,具体取决于实现。当您需要保证唯一性或不可预测的时,生成的字符串不合适。