集合 [a-zA-Z0-9]
からランダムに選ばれた文字で構成された5文字の文字列が欲しいです。
これをJavaScriptで実現するには、どのような方法がありますか?
これなら大丈夫だと思いますよ。
<! -- begin snippet: js hide: false console: true babel: false -->
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));
以下のようにしてください。
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;
}
デフォルトのcharset [a-zA-Z0-9]で呼び出すか、あなた自身のcharsetを送信してください。
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));
<! -- スニペットの終了 -->