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

时间:2015-09-30 22:36:29

标签: javascript angularjs string format

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

来自:AA681EBC64F642B1AFA95EE2A5D87350
收件人:AA681EBC - 64F6 - 42B1 - AFA9 - 5EE2A5D87350(为清晰起见增加了空间)

我认为代码看起来像是

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

但在Javascript中

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

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

2 个答案:

答案 0 :(得分:1)

您可以使用以下内容:( 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);

答案 1 :(得分:0)

使用您现有的功能,您可以这样做:

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