在 Javascript 中格式化 32 个字符的随机字符串

Formatting a 32 character random string in Javascript

出于某种原因,我一直无法找到解决此问题的快速方法。我想要做的就是在 Javascript 中向 "randomly" 生成的 32 个字符串添加破折号,如下所示:

发件人:AA681EBC64F642B1AFA95EE2A5D87350
至:AA681EBC - 64F6 - 42B1 - AFA9 - 5EE2A5D87350(为清楚起见添加空格)

我假设代码看起来类似于

String.format(randomString, {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx});

但在Javascript

当前代码(使用angular-随机-string.js):

var value = angular.uppercase(randomString(32));

你可以这样使用:(fiddle here)

var code = "AA681EBC64F642B1AFA95EE2A5D87350";
var test = "AA681EBC-64F6-42B1-AFA9-5EE2A5D87350"
var fCode = code.substring(0, 8) + "-" + code.substring(8, 12) + "-" + code.substring(12, 16) + "-" + code.substring(16, 20) + "-" + code.substring(20);

// test
console.log(test === fCode);

使用您现有的函数,您可以这样做:

var parts = [randomString(8), randomString(4), randomString(4), randomString(4), randomString(12)];
var value = parts.join('-').toUpperCase();