javascript - 密钥生成器 - 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))
解决方案
将要使用的字符放入字符串中,然后每四个字符匹配一次,并用破折号连接匹配项:
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));
推荐阅读
- django - 在 Django 中迁移到 PostgreSQL - 类型字符变化的错误值太长(2)
- java - 我对 netty 框架中 ChannelOutboundHandle 的“读取”方法感到困惑
- javascript - 在 ReactJS 中,将一次性运行的东西放在哪里?
- javascript - 没有括号的函数返回一个奇怪的输出
- c# - unity 2018.2 文字颜色渐变
- javascript - 有人可以解释这个循环中的每个变量、运算符、参数等的工作原理吗?
- c++ - 带有递归和向量的河内塔
- android - 在午夜增加共享偏好的数量
- ansible - 从两个数组 Ansible 中获取差异
- vue.js - Vuetify - 清除 v-text-field 时如何触发方法