在随机字母数字字符串中生成 5 或 7 个字符

问题描述 投票:0回答:1

我正在尝试生成一个由 5 或 7 个字母数字字符(大写或小写)组成的随机字符串

目前,我有:

var randStr = randomString(5);

但我太新手了,不知道如何让它在字符串中生成 5 或 7 个字符。我需要它来随机选择一个 5 或 7 个字符的字符串来生成。

我用过

 function randomString(string_length) {
                var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
                var output = "";
                var index;

                for (var i = 0; i < string_length; i++) {
                    var index = Math.floor(Math.random() * chars.length);
                    output += chars.substring(index, index + 1);
                }
                document.getElementById("current").innerHTML = output;
                return output;

 var randStr = randomString(5);

要获得 5 个字符的字母数字字符串的输出,但我需要随机 5 或 7,而不是将其从 5 切换到 7。我想要一个或。

html string random
1个回答
0
投票

这是我的代码,你可以指定字符的长度

let randomeName = (length: number = 8): string => {
  let alphabet = [
    'A',
    'B',
    'C',
    'D',
    'E',
    'F',
    'G',
    'H',
    'I',
    'J',
    'K',
    'L',
    'M',
    'N',
    'O',
    'P',
    'Q',
    'R',
    'S',
    'T',
    'U',
    'V',
    'W',
    'X',
    'Y',
    'Z',
    'a',
    'b',
    'c',
    'd',
    'e',
    'f',
    'g',
    'h',
    'i',
    'j',
    'k',
    'l',
    'm',
    'n',
    'o',
    'p',
    'q',
    'r',
    's',
    't',
    'u',
    'v',
    'w',
    'x',
    'y',
    'z',
  ];
  let arr: string[] = [];
  for (let i = 0; i <= length; i++) {
    let idx: number = +(Math.random() * 51).toFixed(0);
    arr.push(alphabet[idx]);
  }
  return arr.join('');
};
© www.soinside.com 2019 - 2024. All rights reserved.