Javascriptでランダムな文字列を生成
javascriptでランダムな文字列を生成するコード例は下記です。
function getRandomStr(){ const LENGTH = 8 //生成したい文字列の長さ const SOURCE = "abcdefghijklmnopqrstuvwxyz0123456789" //元になる文字 let result = '' for(let i=0; i<LENGTH; i++){ result += SOURCE[Math.floor(Math.random() * SOURCE.length)]; } return result //p9zh1ziw }
生成された文字列には小文字の英字と数字が含まれます。
ただし、必ず英字と数字の両方が含まれる保証はありません。英字のみ、または数字のみの文字列となる可能性があります。
大文字、小文字、数字、記号をそれぞれ1つ以上含むランダムな文字列を生成したい場合は、下記記事を参考にしてください。

【Javascript】ランダムな文字列を生成(大文字、小文字、数字、記号を1つ以上含む)
Javascriptで大文字、小文字、数字、記号を1つ以上含むランダム文字列を生成 指定した文字数でそれぞれを1つ以上含む、ピュアJavascriptで書かれたランダム文字生成コードはネット上にもなさそうだったので作ってみました。 Java...
ランダム文字列生成のコード補足説明
ランダム文字列の元になる文字はSOURCEで定義しています。
SOURCE文字列からランダムに文字を選び取るためにMath.random()メソッドを使っています。random()は0~1未満の乱数を返します。
Math.random() //0.6731022123688462
この値にSOURCE文字列の長さ(今回は36)をかけ、Math.floor()メソッドで整数に整えることで(0~1) * 36 つまり0~36のどれかをランダムで選んでいます。
Math.random() 、Math.floor()について詳しくは下記を参照してください。

Math.random() - JavaScript | MDN
Math.random() は静的メソッドで、 0 以上 1 未満の範囲で浮動小数点の擬似乱数を返します。その範囲ではほぼ均一な分布で、ユーザーは必要なだけ範囲の拡大をすることができます。実装側で乱数生成アルゴリズムの初期シードを選択します...

Math.floor() - JavaScript | MDN
Math.floor() は静的メソッドで、与えられた数値以下の最大の整数を返します。
コメント