GUID de JavaScript
-
Use o
math.random()
para criar umguid
em JavaScript -
Use as expressões regulares para criar um
guid
em 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.