The globally unique identifier (guid,globally unique Identifier) is also known as the UUID (universally unique Identifier).
A GUID is a numeric identifier generated by the algorithm with a binary length of 128 bits. The format of the GUID is "Xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", where X is a 32-bit hexadecimal number in the range of 0-9 or a-f. Ideally, no computer or computer cluster will generate two identical GUIDs.
The total number of GUIDs reaches 2^128 (3.4x10^38), so the probability of randomly generating two identical GUIDs is very small, but not 0. The term GUID also sometimes refers to Microsoft's implementation of the UUID standard.
Method One
function
uuid() {
var
s = [];
var
hexDigits =
"0123456789abcdef"
;
for
(
var
i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] =
"4"
;
// bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
// bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] =
"-"
;
var
uuid = s.join(
""
);
return
uuid;
}
Method Two
function
guid() {
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);
});
}
Method Three
function
guid() {
function
S4() {
return
(((1+Math.random())*0x10000)|0).toString(16).substring(1);
}
return
(S4()+S4()+
"-"
+S4()+
"-"
+S4()+
"-"
+S4()+
"-"
+S4()+S4()+S4());
}
Method Four
function
uuid(len, radix) {
var
chars =
‘0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz‘
.split(
‘‘
);
var
uuid = [], i;
radix = radix || chars.length;
if
(len) {
// Compact form
for
(i = 0; i < len; i++) uuid[i] = chars[0 | Math.random()*radix];
}
else
{
// rfc4122, version 4 form
var
r;
// rfc4122 requires these characters
uuid[8] = uuid[13] = uuid[18] = uuid[23] =
‘-‘
;
uuid[14] =
‘4‘
;
// Fill in random data. At i==19 set the high bits of clock sequence as
// per rfc4122, sec. 4.1.5
for
(i = 0; i < 36; i++) {
if
(!uuid[i]) {
r = 0 | Math.random()*16;
uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
}
}
}
return
uuid.join(
‘‘
);
}
Four ways to generate UUID for JS