Javascript生成全局唯一标识符(GUID,UUID)的方法
方法一
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)的方法相关推荐
- 游戏服务器生成全局唯一ID的几种方法
在服务器系统开发时,为了适应数据大并发的请求,我们往往需要对数据进行异步存储,特别是在做分布式系统时,这个时候就不能等待插入数据库返回了取自动id了,而是需要在插入数据库之前生成一个全局的唯一id,使 ...
- 命名规则标识符 unix_关于全局唯一标识符
关于全局唯一标识符 用几个世纪以来独一无二的标签命名你的接口 摘要 本文介绍全局唯一标识符(GUID:Globally Unique IDentifier ),并说明如何从您喜欢的工作站创建一个.它包 ...
- 自定义 GUID(全局唯一标识符)
文章目录 GUID JS 实现 自定义 GUID GUID 全局唯一标识符(GUID)是一种通过算法生成的标识符,典型的,是通过生成二进制长度为 128 位的数字标识符来作为 GUID, 这样的 GU ...
- uuid:128位的全局唯一标识符(univeral unique identifier)
转:https://www.cnblogs.com/franknihao/p/7307224.html uuid是128位的全局唯一标识符(univeral unique identifier),通常 ...
- UUID是128位的全局唯一标识符
UUID是128位的全局唯一标识符,通常由32字节的字符串表示. 它通过MAC地址.时间戳.命名空间.随机数.伪随机数来保证生成ID的唯一性.UUID主要有五个算法,也就是五种方法来实现:1.uuid ...
- 全球唯一标识符:GUID在线生成
全球唯一标识符:GUID在线生成 转载于:https://www.cnblogs.com/LittleTiger/p/8297996.html
- 高并发分布式系统中生成全局唯一Id汇总
全局唯一ID <高并发分布式系统中生成全局唯一Id汇总> Twitter 方案(Snowflake 算法):41位时间戳+10位机器标识(比如IP,服务器名称等)+12位序列号(本地计数器 ...
- 如何在高并发分布式系统中生成全局唯一Id
又一个多月没冒泡了,其实最近学了些东西,但是没有安排时间整理成博文,后续再奉上.最近还写了一个发邮件的组件以及性能测试请看 <NET开发邮件发送功能的全面教程(含邮件组件源码)> ,还弄了 ...
- 高并发分布式系统中生成全局唯一订单号
高并发分布式系统中生成全局唯一订单号 我了解的方案如下-------------------------- 1. 使用数据库自增Id 优势:编码简单,无需考虑记录唯一标识的问题. 缺陷: 1) ...
最新文章
- ROS-3 : Catkin工作空间和ROS功能包
- openresty获取nginx请求头信息
- java虚拟机堆栈工作原理_java虚拟机工作原理?
- -bash: locate: command not found
- matlab怎么看输出电压纹波,教你如何正确取电源的输出纹波噪声值
- 购买课程赠老男孩出版的签名新书啦!
- ICLR'22 | cosFormer:重新思考注意力机制中的Softmax
- Linux内核中的jiffies及其作用介绍及jiffies等相关函数详解
- WORD脚注引用添加
- 建网站怎么选合适的网站模版
- 加大货币发行量 quantitative easing
- oracle数据库语句
- Word中常见的论文三线表(表格)制作
- MAC无法挂载移动硬盘
- cv2绘图 cv.line(),cv.circle(),cv.rectangle(),cv.ellipse(),cv.putText() python
- 《实验细节》MELD文本预处理
- JMeter开发一个最简单的Sampler
- Vue3分页器(Pagination)
- asp.net毕业设计家电维修保养信息系统
- Bash Shell中16进制数字和ASCII字符相互转换
热门文章
- openlayers 可以实现3d地图效果吗_OpenLayers教程:地图标注
- 测试用例设计方法_测试用例设计方法——流程分析法(场景法)
- java note项目_note(java)
- c语言中仅分号,问什么C程序里总是提示缺少分号;,而明明有分号?
- php扇形分布图,PHP制作3D扇形统计图以及对图片进行缩放操作实例
- mysql为查询结果字段赋默认值
- Spring框架入门基础,不可多得的干货
- 「高并发秒杀」mysql只修改字段名称
- 零基础实战迁移学习VGG16解决图像分类问题
- 【计算机网络】关于数据链路层的讨论(看不懂你来打我!)