JavaScriptで、とりあえずランダムな文字列を作る

また小ネタです。

JavaScriptで、別に暗号学的とかは考慮しない、一応ランダムな文字列を生成したい場合があります。

手軽な方法の1つは、Math.random()を文字列にすることですが、一応整数にしておきましょう。桁数も決め打ちというよりはシステム制約に則ることにします。

JavaScriptで使える安全な整数範囲は、Number.MAX_SAFE_INTEGERです。

developer.mozilla.org

なので、その桁数の長さの文字列にすれば常に同じ長さの文字列が得られます。

function getRandomNumberString() {
  const digitMax = Math.ceil(Math.log10(Number.MAX_SAFE_INTEGER))
  const number = Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)
  return ('0'.repeat(dMax-1) + String(number)).slice(-dMax)
}

ただの整数なので、利用者に見せない、単にシステム上区別がつけばいい程度の話に限定されますが、参考まで。