javascript - 需要一个 Java 生成器(如果可能的话,使用正则表达式)

标签 javascript random generator

我需要创建一个带有前缀“sold:”的生成器,之后我需要输入 2 个单词、1 个数字和 1 个单词。

示例:

  • 已售出:ad2c
  • 已售出:vf6c
  • 已售出:hy9t

我有这个,但这是用于生成随机值。

function makeid() {
  var text = "";
  var possible = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ";   //enter the variables*

  for (var i = 0; i < 14; i++)   //change the value depending of the length
    text += possible.charAt(Math.floor(Math.random() * possible.length));

  return text;
}

谢谢

最佳答案

将问题分解为小的子问题。

那么,我们需要什么?

我们需要一个函数,根据给定的一组可能值为我们提供一系列随机生成的值:

function randomOf(chars, count) {
    var text = "";

    for (var i = 0; i < count; i++) {
        text += chars.charAt(Math.floor(Math.random() * chars.length));
    }

    return text;
}

然后我们需要一个函数来为我们提供一系列随机生成的单词:

function generateWords(count) {
    return randomOf("ABCDEFGHIJKLMNOPQRSTUVWXYZ", count);
}

以及一个为我们提供随机生成的数字序列的函数:

function generateNumbers(count) {
    return randomOf("0123456789", count);
}

现在我们可以使用这些函数来生成我们的 id:

function makeid() {
    return "sold:" + generateWords(2) + generateNumbers(1) + generateWords(1);
}

关于javascript - 需要一个 Java 生成器(如果可能的话,使用正则表达式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60609904/

相关文章:

javascript - 如何创建带有彩色标签的 html css js 编辑器,如 w3schools.com

java - 生成 1 到 99 之间的随机数?

windows - 等同于 Windows 上的/dev/urandom?

docker - Azerothcore 错误 azerothcore-wotlk-ac-worldserver-1 | MMAP :loadMap: 5303231. mmtile 使用生成器 v15 构建,预计为 v16

python - 在其消费者中处理生成器异常

javascript - 函数返回未定义的预期 Promise 或值,并且无法使用云函数从 Firebase 数据库中删除旧数据

javascript - 合并网格会降低 FPS

javascript - 如何为 Full CSS Dropdown Vertical Menu 添加隐藏延迟

c++ - 为什么 rand()/double(RAND_MAX) 的第一个结果不是随机的

python - 递归调用返回自身迭代器的对象方法