javascript - 如何向字符串添加连字符(将其格式化为 16 位序列号)

标签 javascript

我有以下 javascript 来生成随机 20 位数字。我需要在每 5 位数字后添加连字符,以形成像给定示例一样的序列号格式

例如DF347-VB895-98AP8-34NQ2

function randomString() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ";
	var string_length = 20;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	document.write(randomstring);
}
<body onload="randomString();">

最佳答案

只需每 5 次迭代添加一个连字符:

function randomString() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ";
	var string_length = 20;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
	   var rnum = Math.floor(Math.random() * chars.length);
       if (i !== 0 && i%5 === 0) {
          randomstring += '-';
       }
	   randomstring += chars.substring(rnum,rnum+1);
	}
	document.write(randomstring);
}
<body onload="randomString();">

关于javascript - 如何向字符串添加连字符(将其格式化为 16 位序列号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27668949/

相关文章:

Javascript 查找 url 并将其替换为链接并在需要时 chop 文本

javascript - 从javascript对象中的事件处理程序访问变量

javascript - 根据值拆分数组

javascript - 如何从异步调用返回响应?

Javascript - 多次循环同一数组

javascript - 以编程方式显示 Deezer 共享对话框

javascript - 使用 Javascript 解析文本文件内容

javascript - jQuery 在 Chrome 18 中不起作用

javascript - 在 select2 插件中设置要选择的最小值

javascript - 在 javascript 中使用 handlebars 模板变量