ランダム文字列の生成
ランダム文字列の生成は以下のような場面で使用される
テストデータ作成
どういう文字種を使うか。
単語など、ある程度の意味を持った塊を使うか。(完全ランダムだと実態と乖離する)
基本的には以下のような考え方がある。
単純に毎回ランダムな文字を取得して、それを結合する。
グループの選択とその中でのランダムな文字の取得を繰り返し、それを結合する。
先に使う文字をランダムで取得し、それをさらにシャッフルする。
生成時点で条件を満たすようにする。
生成した結果に対して検証を行い、満たさない場合は再生成する。
JavaScript
code:generateRandomString.js
/**
* @param {string} s 使用する文字の一覧
* @param {number} len 長さ
* @param {function} generateRandomInt 指定範囲のランダム整数の生成
*/
function generateRandomString(s, len, generateRandomInt) {
var a = [];
for (var i = 0; i < len; i++) {
a.push(s.codePointAt(generateRandomInt(0, s.length - 1)));
}
return a.join(''); // JavaScript での文字列結合の簡便な方法
}
関連
参考
Java の場合
JavaScript の場合