JavaScript でランダムな英数字文字列を生成するにはどうすればよいですか?
P粉775788723
P粉775788723 2023-10-12 23:03:12
0
2
744

JavaScript で一意の識別子として使用するランダムな英数字 (大文字、小文字、数字) 文字列を生成する (合理的な範囲内で) 最も短い方法は何ですか?

P粉775788723
P粉775788723

全員に返信(2)
P粉312195700

これが非常に素晴らしくエレガントなソリューションであることを発見しました:

リーリー

この実装に関するコメント:

  • これにより、長さ 0 ~ 12 文字の文字列が生成されます。浮動小数点文字列化では末尾のゼロが削除されるため、通常は 11 文字になります。
  • 大文字は生成されず、小文字と数字のみが生成されます。
  • ランダム性は Math.random() から得られるため、出力は予測可能であるため、必ずしも一意であるとは限りません。
  • 理想的な実装を仮定したとしても、出力には最大 52 ビットのエントロピーが含まれます。つまり、約 70M の文字列を生成した後に重複が発生する可能性があります。
いいねを押す +0
P粉985686557

特定の文字のみを許可したい場合は、次のようにすることもできます:

リーリー

デモ用の jsfiddle は次のとおりです: http://jsfiddle.net/wSQBx/

もう 1 つの方法は、特別な文字列を使用して、使用する文字の種類を関数に指示することです。あなたはこれを行うことができます: ### リーリー

フィドル:

http://jsfiddle.net/wSQBx/2/

あるいは、以下で説明する Base36 メソッドを使用するには、次のことを実行できます。

リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート