Eu quero uma string de 5 caracteres composta de caracteres escolhidos aleatoriamente do conjunto [a-zA-Z0-9]
.
Qual'é a melhor maneira de fazer isto com JavaScript?
Acho que isto vai funcionar para ti:
função makeid(comprimento) { var resultado = ''; caracteres var = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; var caracteresLength = characters.length; for ( var i = 0; i < length; i++ ) { resultado += caracteres.charAt(Math.floor(Math.random() * charactersLength)); } resultado do retorno; }
console.log(makeid(5));
Algo como isto deve funcionar.
function randomString(len, charSet) {
charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var randomString = '';
for (var i = 0; i < len; i++) {
var randomPoz = Math.floor(Math.random() * charSet.length);
randomString += charSet.substring(randomPoz,randomPoz+1);
}
return randomString;
}
Ligue com o charset padrão [a-zA-Z0-9] ou envie o seu próprio:
var randomValue = randomString(5);
var randomValue = randomString(5, 'PICKCHARSFROMTHISSET');
function randomstring(L) {
var s = '';
var randomchar = function() {
var n = Math.floor(Math.random() * 62);
if (n < 10) return n; //1-10
if (n < 36) return String.fromCharCode(n + 55); //A-Z
return String.fromCharCode(n + 61); //a-z
}
while (s.length < L) s += randomchar();
return s;
}
console.log(randomstring(5));