国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
JavaScript で亂數(shù)を生成する
使用 toString() 生成隨機字母數(shù)字字符串
最終想法
ホームページ ウェブフロントエンド jsチュートリアル JavaScript で亂數(shù)と文字列を生成する

JavaScript で亂數(shù)と文字列を生成する

Sep 02, 2023 am 08:57 AM
番號 ランダム

JavaScript で亂數(shù)と文字列を生成する

亂數(shù)または英數(shù)字文字列を生成する機能は、多くの狀況で役立ちます。これを使用して、ゲーム內(nèi)のさまざまな場所に敵や食べ物をスポーンできます。これを使用して、ユーザーにランダムなパスワードを提案したり、ファイルを保存するためのファイル名を作成したりすることもできます。

PHP でランダムな英數(shù)字文字列を生成する方法に関するチュートリアルを書きました。この投稿の冒頭で、真にランダムなイベントはほとんどないと述べましたが、亂數(shù)や文字列の生成にも同じことが當てはまります。

このチュートリアルでは、JavaScript で擬似ランダムな英數(shù)字文字列を生成する方法を説明します。

JavaScript で亂數(shù)を生成する

亂數(shù)を生成することから始めましょう。最初に思い浮かぶメソッドは Math.random() で、これは浮動小數(shù)點の擬似亂數(shù)を返します。亂數(shù)は常に 0 以上 1 未満になります。

この範囲で返される數(shù)値の分布はほぼ均一であるため、このメソッドは日常使用において明らかな逸脫を生じることなく適切に亂數(shù)を生成できます。以下は、Math.random() メソッドに対する 10 回の呼び出しの出力です。 リーリー

範囲內(nèi)のランダムな整數(shù)を生成します

前のセクションで見たように、

Math.random() は 0 (両端を含む) から 1 (両端を含まない) の範囲の亂數(shù)を返します。 0 (両端を含む) から 100 (両端を含まない) の範囲のランダムな整數(shù)が必要だとします。ここで行う必要があるのは、元の範囲を 100 倍することだけです。

上記のコード スニペットの最初の出力値を例にとると、0.9981169188071801 は 100 倍すると 99.81169188071801 になります。これで、

Math.floor() メソッドを使用できるようになります。このメソッドは、値が 99.81169188071801 以下である最大の整數(shù)を切り捨てて返します。つまり、99 が得られます。

次のコード スニペットは 10 回ループし、さまざまな番號に適用されるこれらすべての手順を示します。

リーリー

乗算と丸めの背後にあるロジックを理解したので、最大制限內(nèi)でランダムな整數(shù)を生成する関數(shù)を作成できます。

リーリー

指定した最小値を超え、最大値を下回る亂數(shù)を生成したい場合はどうすればよいでしょうか?

この場合、最小値を先頭に追加して、結(jié)果の數(shù)値が少なくとも最小値と等しくなるようにすることができます。その後、亂數(shù)を生成し、それを

max - min でスケールし、それを可能な限り最小の値に加算するだけです。 リーリー

暗號的に安全な亂數(shù)を生成する

Math.random() メソッドは暗號的に安全な亂數(shù)の生成には適していませんが、Crypto.getRandomValues() メソッドはここで役に立ちます。このメソッドは、渡された配列に暗號的に安全な擬似亂數(shù)を埋めます。これらの亂數(shù)の生成に使用されるアルゴリズムはユーザー エージェントによって異なる場合があることに注意してください。

前に述べたように、整數(shù)ベースの

TypedArray をメソッドに渡して、メソッドにランダムな値を入力する必要があります。配列の元の內(nèi)容は置き換えられます。次のコードは、10 要素の配列にランダムな整數(shù)を入力します。 リーリー

Unit8Array() コンストラクターは、10 個の 8 ビット符號なし整數(shù)の配列を提供します。配列の値はすべてゼロに初期化されます。

この配列を

getRandomValues() メソッドに渡すと、亂數(shù)値は 0 ~ 255 の範囲のままになります。他のタイプの配列を使用して、さまざまな範囲の亂數(shù)を生成できます。たとえば、Int8Array() コンストラクターを使用すると、-128 から 127 までの整數(shù)値の配列が得られます。同様に、Uint16Array() を使用すると、最大 65,535 の整數(shù)値の配列が得られます。 リーリー p>JavaScript でランダムな英數(shù)字文字列を生成する

前のセクションで得た知識を使用して、JavaScript でランダムな英數(shù)字文字列を生成します。

コンセプトは非常にシンプルです。必要な文字をすべて含む文字列から始めます。この例では、文字列は小文字、大文字、および 0 ~ 9 の數(shù)字で構(gòu)成されます。すでにご存知かもしれませんが、文字列にインデックス値を渡すことで、文字列內(nèi)の特定の位置にある文字にアクセスできます。

ランダムな英數(shù)字文字列を生成するには、亂數(shù)を生成し、そのランダムなインデックスにある文字にアクセスして、それをランダムな文字列に追加するだけです。次のコード スニペットは、すべてを素敵な小さな関數(shù)にまとめています:

const char_set = 'abcdefghijlkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';

function max_random_number(max) {
  return Math.floor(Math.random() * max);
}

function get_random_string(length) {
  let random_string = '';

  for(let i = 0; i < length; i++) {
    random_string += char_set[max_random_number(char_set.length - 1)];
  }
  
  return random_string;
}

console.log(get_random_string(20));
// Outputs: lgtuRJZolu7AXj4HMoiM

console.log(get_random_string(40));
// outputs: scOoal3VXgeAjaHIieolhi2TyWFpAn5bBPPiX6UG

使用 toString() 生成隨機字母數(shù)字字符串

我們可以用來生成隨機字母數(shù)字字符串的另一種方法是對隨機生成的數(shù)字使用 toString() 方法。 toString() 方法返回一個表示我們指定數(shù)值的字符串。此方法接受可選的 radix 參數(shù),該參數(shù)指定要表示數(shù)字的基數(shù)。值為 2 將返回二進制字符串,值為 16 將返回十六進制字符串。該參數(shù)默認值為10。最大值可以為36,因為它涵蓋了全部26個字母和10個數(shù)字。

以下是針對不同 radix 值對此方法進行幾次調(diào)用的輸出:

let number = 3498650143868;

console.log(number.toString(2));
// Outputs: 110010111010010111110011001000110001111100

console.log(number.toString(10));
// Outputs: 3498650143868

console.log(number.toString(16));
// Outputs: 32e97cc8c7c

console.log(number.toString(36));
// Outputs: 18n99yoak

您可能已經(jīng)注意到,隨著我們增加 radix,輸出字符串的長度不斷減少。在下面的代碼片段中,我們將使用上一節(jié)中的 max_random_number() 函數(shù)來獲取隨機數(shù)。然后,我們將使用 toString() 方法將此隨機數(shù)轉(zhuǎn)換為字母數(shù)字字符串。

function max_random_number(max) {
  return Math.floor(Math.random() * max);
}

for(let i = 0; i < 10; i++) {
  console.log(max_random_number(Number.MAX_SAFE_INTEGER).toString(36));
}
/* Outputs:
1tr84s6c2sl
1yj4varyoj7
1zdg9nn0z6r
lubrjj1zih
13tt2n5vw9t
1mv6sctjgf
yx3fhnznhf
1wj4mdcrqb9
26sir75af2r
qdv9xv800t
*/

如果您想要更大的字母數(shù)字字符串并希望它們具有固定長度(例如 40 個字符或 100 個字符)怎么辦?在這種情況下,我們可以創(chuàng)建一個循環(huán),不斷附加生成的字符串,直到達到所需的長度。

function max_random_number(max) {
  return Math.floor(Math.random() * max);
}

function get_random_string(length) {
  let random_string = '';
  while(random_string.length < length) {
   random_string += max_random_number(Number.MAX_SAFE_INTEGER).toString(36);
  }
  return random_string.substring(0, length);
}

console.log(get_random_string(40));
// Outputs: bn0nfhcsjm18ylzqrm6bo1iktka2aq7qbbl5ybki

console.log(get_random_string(100));
// Outputs: rdosjhthsevmk91mj9zvqexz2z0v3pe2beasbzoworanzjg3bfpf975rzfy2fmo6pmj4p69u0x80ce92jh2vljx90g6r0lzd8vb0

最終想法

在本教程中,我們學習了如何在 JavaScript 中生成隨機數(shù)和字母數(shù)字字符串。借助 Math.random() 方法,在 JavaScript 中生成隨機整數(shù)很容易。我們所要做的就是縮放輸出,使其符合我們所需的范圍。如果您希望隨機數(shù)具有加密安全性,您還可以考慮使用 getRandomValues() 方法。

一旦我們知道如何生成隨機數(shù),創(chuàng)建隨機字母數(shù)字字符串就很容易了。我們需要做的就是弄清楚如何將數(shù)字轉(zhuǎn)換為字符。我們在這里使用了兩種方法。第一個涉及訪問預(yù)定義字符串中隨機數(shù)字索引處的字符。如果您想具體了解隨機字母數(shù)字字符串中應(yīng)包含的字符,則此技術(shù)非常有用。另一種方法涉及使用 toString() 方法將十進制數(shù)轉(zhuǎn)換為不同的基數(shù)。這減少了對 max_random_number() 函數(shù)的調(diào)用。

當然還有更多技術(shù)可用于生成隨機字母數(shù)字字符串。這完全取決于您的需求以及您想要的方法的創(chuàng)意程度。

以上がJavaScript で亂數(shù)と文字列を生成するの詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

python_python の繰り返し文字列チュートリアルで文字列を繰り返す方法 python_python の繰り返し文字列チュートリアルで文字列を繰り返す方法 Apr 02, 2024 pm 03:58 PM

1. まず pycharm を開いて、pycharm ホームページに入ります。 2. 次に、新しい Python スクリプトを作成し、右クリックして [新規(guī)] をクリックし、[Pythonfile] をクリックします。 3. 文字列、コード: s="-" を入力します。 4. 次に、文字列內(nèi)のシンボルを 20 回繰り返す必要があります (コード: s1=s*20)。 5. 印刷出力コード、コード: print(s1) を入力します。 6. 最後にスクリプトを?qū)g行すると、下部に戻り値が表示されます。 - 20 回繰り返しました。

Golang 文字列変更の詳細な説明: 動的な調(diào)整と可変性 Golang 文字列変更の詳細な説明: 動的な調(diào)整と可変性 Apr 08, 2024 pm 03:27 PM

GoLang の文字列は不変ですが、文字列連結(jié)を使用した文字列の連結(jié)という手法を使用して動的に変更できます。文字列フォーマットを使用して新しい文字列を作成します。文字列の基礎(chǔ)となるバイト スライスを変更します。サードパーティのライブラリが提供する変更可能な文字列型を使用します。

PHP 文字列操作: 余分なカンマを削除し、カンマのみを保持する実裝のヒント PHP 文字列操作: 余分なカンマを削除し、カンマのみを保持する実裝のヒント Mar 28, 2024 pm 03:02 PM

PHP 文字列操作: 余分なカンマを削除し、カンマのみを保持する 実裝のヒント PHP 開発では、文字列処理は非常に一般的な要件です。場合によっては、文字列を処理して余分なカンマを削除し、カンマのみを殘す必要があります。この記事では、実裝テクニックと具體的なコード例を紹介します。まず、一般的な要件を見てみましょう。複數(shù)のカンマを含む文字列があり、余分なカンマを削除して一意のカンマのみを保持する必要があるとします。たとえば、「apple,ba」を置き換えます。

PHPで文字列をfloatに変換する方法 PHPで文字列をfloatに変換する方法 Mar 27, 2024 pm 12:48 PM

文字列を浮動小數(shù)點數(shù)に変換するのは PHP の一般的な操作であり、組み込みメソッドを使用して実行できます。文字列を浮動小數(shù)點數(shù)に正常に変換するには、まず文字列が有効な浮動小數(shù)點形式であることを確認してください。以下では、PHP で文字列を浮動小數(shù)點數(shù)に変換する方法を詳しく説明し、具體的なコード例を示します。 1. (float) キャストを使用する PHP で文字列を浮動小數(shù)點數(shù)に変換する最も簡単な方法は、キャストを使用することです。強制的に変換するには、文字列の前に (float) を追加します。これにより、PHP が自動的に変換します。

Realme GT Neo6は5月9日発売予定!コンピュータ業(yè)界初のAIデジタルヒューマンカンファレンス Realme GT Neo6は5月9日発売予定!コンピュータ業(yè)界初のAIデジタルヒューマンカンファレンス May 08, 2024 pm 12:49 PM

5月7日、當社の攜帯電話メーカーは、當社のGTNeo6発売カンファレンスが5月9日に予定されていると正式に発表しました。私のGTNoe6は「パフォーマンスの嵐」と位置付けられており、ミッドレンジマシンの狀況を揺るがすことを目的としています。なお、今回のカンファレンスは攜帯電話業(yè)界初のAIデジタルヒューマンカンファレンスでもあります。その際、Realme副社長、グローバルマーケティング社長、中國國家主席のXu Qi氏がデジタルヒューマンの姿で記者會見に登場する。デジタルマン Xu Qi 公式紹介によると、コードネーム「ハリケーン」の Realme GTNoe6 はより高速かつ強力で、最強の第 3 世代 Snapdragon 8s フラッグシップおよびクラス最強の製品に挑戦します。最近、Realme GTNeo6 が電子商取引プラットフォームに直接接続されていることが判明し、このマシンが Snapdragon 8s プロセッサを搭載しているだけでなく、120W のフラッシュ充電もサポートしていることが明らかになりました。

PHPで桁數(shù)を判斷する方法と応用 PHPで桁數(shù)を判斷する方法と応用 Mar 27, 2024 pm 08:21 PM

PHP は、Web アプリケーションの開発に広く使用されている人気のあるサーバー側(cè)スクリプト言語です。 Web 開発では、數(shù)値の桁數(shù)を決定する必要がある狀況がよくありますが、この記事では、數(shù)値の桁數(shù)を決定するための PHP の方法とアプリケーションを紹介し、具體的なコード例を示します。 1. 數(shù)値の桁數(shù)を判斷する方法 PHP では、數(shù)値の桁數(shù)をさまざまな方法で判斷できますが、一般的に使用されるいくつかの方法を次に示します: 組み込み関數(shù) strlen() を使用する: 數(shù)値を文字列に直接変換してから、 strlen() 関數(shù)を使用できます。

PHP プログラミング ガイドライン: 有効な検証文字列は數(shù)字と文字に限定されます PHP プログラミング ガイドライン: 有効な検証文字列は數(shù)字と文字に限定されます Mar 29, 2024 am 08:54 AM

プログラミングの規(guī)律は、特に PHP アプリケーションを開発する場合、コードの品質(zhì)と保守性を確保するために重要です。一般的な要件の 1 つは、入力文字列を効率的に検証して、入力文字列に數(shù)字とアルファベットのみが含まれていることを確認することです。この記事では、プログラミング規(guī)約に従いながら、この要件を達成するために PHP でコードを記述する方法を紹介します。プログラミング標準の概要 PHP プログラミングでは、特定のプログラミング標準に従うと、コードが読みやすく保守しやすくなると同時に、エラーが減少し、コードのパフォーマンスが向上します。以下に、プログラミング ガイドラインの推奨事項をいくつか示します。

Golang 文字列の背後にある秘密を明らかにする: 可変または不変 Golang 文字列の背後にある秘密を明らかにする: 可変または不変 Apr 08, 2024 am 11:27 AM

Go 文字列は不変ですが、ポインターを介して変更できます。 1. 文字列は値型であり、新しい変數(shù)が代入されると新しい値が作成されます。 2. ポインタは文字列を指し、その內(nèi)容を変更できます。 3. 文字列を連結(jié)すると、元の文字列に影響を與えることなく新しいコピーが作成されます。

See all articles