JavaScript生成UUID的五种方法详解

JavaScript生成UUID的五种方法详解UUID 的介绍参考文章 UUID 简介以及 java 代码获取 UUID 示例 java 获取 uuid 西晋的 no1 的博客 CSDN 博客 简介 UUID Universally Unique IDentifier 全局唯一标识符 UUID 是一种由算法生成的二进制长度为 128 位的数字标识符 UUID 的格式为

大家好,我是讯享网,很高兴认识大家。

UUID的介绍参考文章: UUID简介以及java代码获取UUID示例_java 获取uuid_西晋的no1的博客-CSDN博客

简介

UUID(Universally Unique IDentifier) 全局唯一标识符。

UUID是一种由算法生成的二进制长度为128位的数字标识符。

UUID的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中的 x 0-9 a-f

范围内的一个32位十六进制数。在理想情况下,任何计算机和计算机集群都不会生成两个相同的UUID

1.第一种

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); }); } console.log(guid())

讯享网


讯享网

 

2.第二种

讯享网function uuid() { var s = []; var hexDigits = "0abcdef"; 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; } console.log(uuid())

 

3.第三种

function guid2() { function S4() { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); } return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4()); } console.log(guid2())

 

4.第四种

讯享网// 指定长度和基数 function uuid2(len, radix) { var chars = '0ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.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(''); } console.log(uuid2(16, 16))

 

5.第五种

说明:生成32UUID方法

function uuid() { var s = []; var hexDigits = "0abcdef"; for (var i = 0; i < 32; 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; } console.log(uuid())

小讯
上一篇 2025-03-05 19:25
下一篇 2025-03-07 17:25

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/54309.html