HOWTO · JavaScript

Comment générer une chaîne de caractères aléatoire en JavaScript

Il démontre de multiples façons de générer une chaîne aléatoire en JavaScript

Sur cette page

Cet article présente les multiples façons de générer des chaînes de caractères aléatoires en JavaScript. Chaque méthode ci-dessous comporte un exemple de code, que vous pouvez exécuter sur votre machine.

Utilisez la boucle for pour générer des chaînes de caractères aléatoires

Nous utilisons la méthode Math.random() pour générer le nombre aléatoire entre 0 et 1.

Math.floor(Math.random() * charactersLength) générera un nombre aléatoire entre 0 et la longueur du tableau déclaré.

Nous utilisons la boucle for pour créer la longueur requise de la chaîne aléatoire. Un caractère aléatoire est généré à chaque itération.

Exemple :

const generateRandomString =
    (num) => {
      const characters =
          'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
      let result1 = ' ';
      const charactersLength = characters.length;
      for (let i = 0; i < num; i++) {
        result1 +=
            characters.charAt(Math.floor(Math.random() * charactersLength));
      }

      return result1;
    }

const displayRandomString =
    () => {
      let randomStringContainer = document.getElementById('random_string');
      randomStringContainer.innerHTML = generateRandomString(8);
    }

          console.log(generateRandomString(5));

Utiliser les méthodes intégrées pour générer des chaînes de caractères aléatoires

Nous pouvons utiliser les fonctions intégrées suivantes pour générer une chaîne aléatoire :

  • La méthode Math.random() pour générer des caractères aléatoires.
  • La méthode toString(36) représentant [a-zA-Z0-9]. Lire plus à propos de toString().
  • La méthode substring(startIndex, endIndex) pour retourner le nombre de caractères spécifié.

Exemple

const generateRandomString =
    (num) => {
      const characters =
          'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
      let result1 = Math.random().toString(36).substring(0, num);

      return result1;
    }

             console.log(generateRandomString(7));