方法一

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);});
}

方法二

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

方法三

function uuid(len, radix) {var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');var uuid = [], i;radix = radix || chars.length;if (len) {// Compact formfor (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random()*radix];} else {// rfc4122, version 4 formvar r;// 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.5for (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('');
}

这个可以指定长度和基数。比如

// 8 character ID (base=2)
uuid(8, 2) // "01001010"
// 8 character ID (base=10)
uuid(8, 10) // "47473046"
// 8 character ID (base=16)
uuid(8, 16) // "098F4D35"

方法四

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 0010s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01s[8] = s[13] = s[18] = s[23] = "-";var uuid = s.join("");return uuid;
}

转载于:https://www.cnblogs.com/jory/p/8557270.html

Javascript生成全局唯一标识符(GUID,UUID)的方法相关推荐

  1. 游戏服务器生成全局唯一ID的几种方法

    在服务器系统开发时,为了适应数据大并发的请求,我们往往需要对数据进行异步存储,特别是在做分布式系统时,这个时候就不能等待插入数据库返回了取自动id了,而是需要在插入数据库之前生成一个全局的唯一id,使 ...

  2. 命名规则标识符 unix_关于全局唯一标识符

    关于全局唯一标识符 用几个世纪以来独一无二的标签命名你的接口 摘要 本文介绍全局唯一标识符(GUID:Globally Unique IDentifier ),并说明如何从您喜欢的工作站创建一个.它包 ...

  3. 自定义 GUID(全局唯一标识符)

    文章目录 GUID JS 实现 自定义 GUID GUID 全局唯一标识符(GUID)是一种通过算法生成的标识符,典型的,是通过生成二进制长度为 128 位的数字标识符来作为 GUID, 这样的 GU ...

  4. uuid:128位的全局唯一标识符(univeral unique identifier)

    转:https://www.cnblogs.com/franknihao/p/7307224.html uuid是128位的全局唯一标识符(univeral unique identifier),通常 ...

  5. UUID是128位的全局唯一标识符

    UUID是128位的全局唯一标识符,通常由32字节的字符串表示. 它通过MAC地址.时间戳.命名空间.随机数.伪随机数来保证生成ID的唯一性.UUID主要有五个算法,也就是五种方法来实现:1.uuid ...

  6. 全球唯一标识符:GUID在线生成

    全球唯一标识符:GUID在线生成 转载于:https://www.cnblogs.com/LittleTiger/p/8297996.html

  7. 高并发分布式系统中生成全局唯一Id汇总

    全局唯一ID <高并发分布式系统中生成全局唯一Id汇总> Twitter 方案(Snowflake 算法):41位时间戳+10位机器标识(比如IP,服务器名称等)+12位序列号(本地计数器 ...

  8. 如何在高并发分布式系统中生成全局唯一Id

    又一个多月没冒泡了,其实最近学了些东西,但是没有安排时间整理成博文,后续再奉上.最近还写了一个发邮件的组件以及性能测试请看 <NET开发邮件发送功能的全面教程(含邮件组件源码)> ,还弄了 ...

  9. 高并发分布式系统中生成全局唯一订单号

    高并发分布式系统中生成全局唯一订单号 我了解的方案如下-------------------------- 1.  使用数据库自增Id 优势:编码简单,无需考虑记录唯一标识的问题. 缺陷: 1)    ...

最新文章

  1. ROS-3 : Catkin工作空间和ROS功能包
  2. openresty获取nginx请求头信息
  3. java虚拟机堆栈工作原理_java虚拟机工作原理?
  4. -bash: locate: command not found
  5. matlab怎么看输出电压纹波,教你如何正确取电源的输出纹波噪声值
  6. 购买课程赠老男孩出版的签名新书啦!
  7. ICLR'22 | cosFormer:重新思考注意力机制中的Softmax
  8. Linux内核中的jiffies及其作用介绍及jiffies等相关函数详解
  9. WORD脚注引用添加
  10. 建网站怎么选合适的网站模版
  11. 加大货币发行量 quantitative easing
  12. oracle数据库语句
  13. Word中常见的论文三线表(表格)制作
  14. MAC无法挂载移动硬盘
  15. cv2绘图 cv.line(),cv.circle(),cv.rectangle(),cv.ellipse(),cv.putText() python
  16. 《实验细节》MELD文本预处理
  17. JMeter开发一个最简单的Sampler
  18. Vue3分页器(Pagination)
  19. asp.net毕业设计家电维修保养信息系统
  20. Bash Shell中16进制数字和ASCII字符相互转换

热门文章

  1. openlayers 可以实现3d地图效果吗_OpenLayers教程:地图标注
  2. 测试用例设计方法_测试用例设计方法——流程分析法(场景法)
  3. java note项目_note(java)
  4. c语言中仅分号,问什么C程序里总是提示缺少分号;,而明明有分号?
  5. php扇形分布图,PHP制作3D扇形统计图以及对图片进行缩放操作实例
  6. mysql为查询结果字段赋默认值
  7. Spring框架入门基础,不可多得的干货
  8. 「高并发秒杀」mysql只修改字段名称
  9. 零基础实战迁移学习VGG16解决图像分类问题
  10. 【计算机网络】关于数据链路层的讨论(看不懂你来打我!)