JavaScriptでユーザIDをランダムに作成する
create: 6/6/2020
自由研究 JavaScript

基本無料のオンラインゲームやろうとしたら、ユーザ ID どうします?とか聞かれるわけですよ。
そんで、自分の名前とかネコの名前でつけようとすると、「その名前は使われています」とか言われるわけですよ。

もうね、考えるの面倒になっちゃった。

絶対に重複しない名前をジェネレートしよう

いや、ただの乱数まかせなので「絶対」とは言い切れないのだけれど。

JavaScript を使って、アルファベットと数字から任意の長さでランダムな文字列を生成するプログラムを作った。

ユニーク ID ジェネレータ(大げさ)

// ユーザIDをランダムに作成する関数
function gen(len) {
  const chars = 'abcdefghijklmnopqrstuvwxyz0123456789'
  const name = []
  for (let i = 0; i < len; i++) {
    const num = Math.floor(chars.length * Math.random())
    name.push(chars[num])
  }
  return name.join('')
}

// 8文字のIDを生成
const newId = gen(8)
console.log('生成されたID', newId)

結果

生成されたID geu6p5cb

一応、生成元文字列の中から最初の a と最後の 9 が出力されることがあるみたいなのでテスト OK とします。
あとはこれを何回か実行して、ピンときた ID を使うだけ。

これからはこの ID を使いまわしていこうと思います。

・・・さすがに、生成された ID は覚えにくい。