GUID de JavaScript

Hemank Mehtani 12 outubro 2023
  1. Use o math.random() para criar um guid em JavaScript
  2. Use as expressões regulares para criar um guid em JavaScript
GUID de JavaScript

Globally Unique Identifiers ou guid são usados ​​por programas de software para identificar com exclusividade a localização de um objeto de dados. Alguns exemplos de dados que incluem guid são arquivos de mídia de streaming, entradas de registro do Windows, chaves de banco de dados e vários outros tipos de arquivo.

Neste tutorial, criaremos um guid em JavaScript.

Use o math.random() para criar um guid em JavaScript

A função math.random() retorna um valor decimal entre 0 e 1 com 16 dígitos após o ponto de fração decimal (por exemplo, 0,2451923368509859). Podemos então dimensionar esse valor aleatório de acordo com o intervalo desejado.

O exemplo a seguir mostra sua implementação na criação de um guid em JavaScript.

var ID = function() {
  return '_' + Math.random().toString(36).substr(2, 9);
};
Math.random().toString(36).slice(2);
function uuidv4() {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
    return v.toString(16);
  });
}

console.log(uuidv4());
function uuid() {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
    return v.toString(16);
  });
}

var userID = uuid();

Resultado:

315a0369-05c9-4165-8049-60e2489ea8e5

Pegamos uma string e substituímos aleatoriamente os caracteres dessa string para gerar um guid usando este método.

Use as expressões regulares para criar um guid em JavaScript

Expressões regulares são os padrões usados ​​para combinar combinações de caracteres em uma string. Eles são objetos em JavaScript. Podemos usar esses padrões com diferentes funções para realizar várias operações com strings.

Podemos usar esses padrões na criação de um guid em JavaScript.

Veja o código abaixo.

function create_UUID() {
  var dt = new Date().getTime();
  var uuid =
      'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
        var r = (dt + Math.random() * 16) % 16 | 0;
        dt = Math.floor(dt / 16);
        return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
      });
  return uuid;
}

console.log(create_UUID());

Resultado:

4191eebf-8a5b-4136-bfa0-6a594f4f0a03

Observe que neste método, também precisamos usar a função Math.random() porque ela garante que cada saída retornará com um ID exclusivo.