首页 > 解决方案 > 密钥生成器 - JavaScript,许可证密钥

问题描述

我有一个问题,我该怎么做 1234-5678-9123-4567。我的意思是“-”每 4 个数字。

function makeid(length) {
  var result = [];
  var characters = '0123456789';
  var charactersLength = characters.length;
  for (var i = 0; i < length; i++) {
    result.push(characters.charAt(Math.floor(Math.random() *
      charactersLength)));
  }
  return result.join('-');
}
console.log(makeid(16))

标签: javascript

解决方案


将要使用的字符放入字符串中,然后每四个字符匹配一次,并用破折号连接匹配项:

function makeid(length) {
  var result = "";
  var characters = '0123456789';
  for (var i = 0; i < length; i++) {
    result += characters[Math.floor(Math.random() * characters.length)];
  }
  result = result.match(/\d{1,4}/g).join("-");
  return result;
}

console.log(makeid(16));


推荐阅读