javascriptでランダムな文字列を生成する

大文字、小文字、数字の中からランダムで好きな分だけ文字を出すプログラムを書く機会があったので、
忘れないように書いておきます。
パスワード自動生成とかで役に立つかな?



今回は10文字分表示させてみましょう。

var num = 10;
var str = 'abcdefghijklmnopqrstuvwxyz'
  	+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  	+ '0123456789';
str = str.split('');
var rand_str = '';
for(var i = 0; i < n; i++) {
  rand_str += str[Math.floor(Math.random() * str.length)];
}

解説

var str = 'abcdefghijklmnopqrstuvwxyz'
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+ '0123456789';
str = str.split('');

文字列を1文字ずつ配列にしています。

for(var i = 0; i < n; i++) {
rand_str += str[Math.floor(Math.random() * str.length)];
}

0以上1未満の疑似乱数とstrの配列の長さでかけると0~配列の長さ内に収まります。
それを四捨五入することによって整数にすると配列から1文字選べます。
それを必要な文字列分だけfor文で回します。