//Algorithm 1//JS Codefunctionuuid () {vars = []; varHexdigits = "0123456789abcdef"; for(vari = 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 0010s[[] = Hexdigits.substr ((s[19] & 0x3) | 0x8, 1);//bits 6-7 of the clock_seq_hi_and_reserved tos[8] = s[13] = s[18] = s[23] = "-"; varUUID = S.join (""); returnuuid; } //Algorithm 2//JS Codefunctionguid () {return' Xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx '. Replace (/[xy]/g,function(c) {varR = Math.random () *16|0, v = c = = ' x '? R: (r&0x3|0x8); returnV.tostring (16); }); } //Algorithm 3//JS Codefunctionguid () {functionS4 () {return(((1+math.random ()) *0x10000) | (((()). toString (1). substring); } return(S4 () +s4 () + "-" +s4 () + "-" +s4 () + "-" +s4 () + "-" +S4 () +s4 () +S4 ()); } //Algorithm 4//JS Codefunctionuuid (len, radix) {varchars = ' 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz '. Split ('); varUUID =[], 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 varR; //rfc4122 requires these charactersuuid[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 < i++;) { if(!Uuid[i]) {R= 0 | Math.random () *16; Uuid[i]= chars[(i = = 19)? (R & 0x3) | 0x8: R]; } } } returnUuid.join (' '); }
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.
This can specify the length and cardinality. Like what
JS Code
- 8 character ID (base=2)
- UUID (8, 2) //"01001010"
- 8 character ID (base=10)
- UUID (8, ten) //"47473046"
- 8 character ID (base=16)
- UUID (8, +) //"098f4d35"
Original: http://www.iteye.com/topic/1134758
JS Generation GUID algorithm