如何在 JavaScript 中生成隨機字串/字元?


JavaScript 指令碼簡單、跨平臺且輕量級。它廣泛用於非瀏覽器環境,並且以網頁構建而聞名。客戶端和伺服器端開發都可以使用 JavaScript 完成。

JavaScript 具有內建方法,可用於生成隨機字串並根據我們的需要修改文件物件模型 (DOM)random() 函式透過 Math 庫訪問,它有助於生成隨機索引並乘以字串的長度。它將追加從字串或字元集中傳遞的字元。

建立自定義方法以生成隨機字串

可以開發一個唯一的方法來生成隨機字串。這裡定義了術語、數字和特殊字元。要建立隨機字串,只需在需要時呼叫此 JavaScript 函式即可。

示例

在以下示例中,我們使用自定義方法生成隨機字串。

<!DOCTYPE html>
<html>
<script>
   function genRandonString(length) {
      var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()';
      var charLength = chars.length;
      var result = '';
      for ( var i = 0; i < length; i++ ) {
         result += chars.charAt(Math.floor(Math.random() * charLength));
      }
      return result;
   }
   document.write(genRandonString(4));
</script>
</html>

指令碼執行時,事件會被觸發並在網頁瀏覽器上顯示一個由上述指令碼中給定字元集中長度為 4 的隨機字串。只要使用者執行指令碼,它的四個字串值就會發生變化。

示例

考慮以下示例,我們在此建立了一個隨機函式。

<!DOCTYPE html>
<html>
<script>
   const characters ='TUTORIALPOINTABCDEF01234GHIJ56789';
   function generateString(length) {
      let result = ' ';
      const charactersLength = characters.length;
      for ( let i = 0; i < length; i++ ) {
         result += characters.charAt(Math.floor(Math.random() * charactersLength));
      }
      return result;
   }
   document.write(generateString(4));
</script>
</html>

執行上述指令碼後,事件將被觸發並在網頁瀏覽器上顯示一個長度為 4 的隨機生成的字串。只要使用者生成指令碼,它就會在輸出視窗上生成不同的隨機字串

使用 Math.random() 方法生成隨機字串

Math.random() 方法的結果是在 0 和 1 之間的偽隨機數。雙引號 ("") 中包含的一組字元在 JavaScript 中表示字串。由於字串僅僅是字元的集合,因此我們可以使用Math.random() 方法建立隨機字串。

語法

以下是 Math.random() 的語法

Math.random()

示例

考慮以下示例,我們在此使用Math.random() 生成隨機字串

<!DOCTYPE html>
<html>
<script>
   function stringGen(len) {
      var text = "";
      var charset = "abcdefghijklmnopqrstuvwxyz23456789";
      for (var i = 0; i < len; i++)
      text += charset.charAt(Math.floor(Math.random() * charset.length));
      return text;
   }
   document.write(stringGen(2));
</script>
</html>

執行上述指令碼後,輸出視窗將彈出,在網頁上顯示生成的長度為 2 的隨機字串。這是因為只要使用者執行指令碼,事件就會被觸發,並且只要使用者執行指令碼,它就會生成不同的隨機字串。

示例

讓我們看看另一個示例,我們在此使用Math.random()

<!DOCTYPE html>
<html>
<script>
   function generateRandomNumber(numberOfCharacters) {
      var randomValues = '';
      var stringValues = 'ABCDEFGHIJKLMNOabcdefghijklmnopqrstuvwxyzPQRSTUVWXYZ';
      var sizeOfCharacter = stringValues.length;
      for (var i = 0; i < numberOfCharacters; i++) {
         randomValues = randomValues+stringValues.charAt(Math.floor(Math.random() * sizeOfCharacter));
      }
      return randomValues;
   }
   document.write(generateRandomNumber(6));
</script>
</html>

當指令碼執行時,它將在網頁瀏覽器上生成一個長度為 6 的字串的輸出,因為事件被觸發並且只要使用者執行指令碼就會顯示不同的隨機字串。

更新於: 2023年1月18日

5K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.