По какой-то причине я не смог найти быстрое решение. Все, что я пытаюсь сделать, это добавить тире к "случайной" сгенерированной 32-символьной строке в Javascript, например:
От: AA681EBC64F642B1AFA95EE2A5D87350
To: AA681EBC - 64F6 - 42B1 - AFA9 - 5EE2A5D87350 (добавленные пространства для ясности)
Я предполагаю, что код будет выглядеть примерно так:
String.format(randomString, {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx});
но в Javascript
Текущий код (с использованием углового-random-string.js):
var value = angular.uppercase(randomString(32));
Вы можете использовать что-то вроде этого: ( скрипка здесь)
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();