Js 生成uuid的四种方法
在开发过程中,有时候需要js生成全局唯一标识符,在java中可以使用uuid,但是JS中没有现成的函数。
总结了一下,JS生成唯一标识符的几种方法。
第一种:
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;
}
第二种:
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 guid2() {function S4() {return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);}return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());
}
第四种:
/*指定长度和基数*/
function uuid2(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('');
}
Js 生成uuid的四种方法相关推荐
- JS生成 UUID的四种方法
全局唯一标识符(GUID,Globally Unique Identifier)也称作 UUID(Universally Unique IDentifier) . GUID是一种由算法生成的二进制长度 ...
- JavaScript生成uuid的四种方法
在开发过程中,有时候需要js生成全局唯一标识符,在java中可以使用uuid,但是JS中没有现成的函数.总结了一下,JS生成唯一标识符的几种方法. 第一种 function guid() {retur ...
- js 生成UUID的几种方法
简介: UUID(Universally Unique IDentifier) 全局唯一标识符. UUID是一种由算法生成的二进制长度为128位的数字标识符.UUID 的格式为"xxxxxx ...
- 前端面试题:使用css生成田字格的四种方法
使用css生成田字格的四种方法 html结构 css基础样式 第一种 flex布局 第二种 绝对定位 第三种 css瀑布流 第四种 float浮动 html结构 <div class=" ...
- js数组去重的四种方法
四种算法来实现这个目的: Array.prototype.unique1 = function () {var n = []; //一个新的临时数组for (var i = 0; i < thi ...
- JS获取随机数的四种方法(转)
原帖:https://www.jb51.net/article/82747.htm JS没有现成的函数,能够直接生成指定范围的随机数. 但是它有个函数:Math.random() 这个函数可以生成 ...
- Js声明数组的四种方法
//第一种 var A=[12,78,78,78,89] console.log(A)//第二种 var B=new Array(); B[0]=12 B[1]=34 B[2]=56 console. ...
- JS类型判断的四种方法以及各自的注意点
基本类型:String.Number.Boolean.Symbol.Undefined.Null 引用类型:Object (引用类型除 Object 外,还包括 Function .Array.Reg ...
- js 判断数据类型的四种方法
1,typeof typeof 返回的数据类型有 undefined boolean (true,false) string symbol number function object 注意 typ ...
- js创建数组的四种方法【2021.11.13】
参考书籍<JavaScript百炼成仙> 1.直接量定义数组: var arr = [1,2,3]; 2.采用构造函数的方法创建数组对象: var a =new Array(); 3.也是 ...
最新文章
- hbase以mr导数据方式
- 密码学研究-数字签名
- 英特尔在移动市场另辟蹊径
- 获取pheatmap聚类后和标准化后的结果
- 遮掩java_关于java中的覆写、重载、隐藏、遮掩、遮蔽
- java uml 为什么_Java开发为什么需要UML
- Shiro+springboot+mybatis(md5+salt+散列)认证与授权-01
- Apache(3)——配置文件里的各参数(1)
- window 安装python 环境
- 剑指offer_06
- influxDB集群模式实践
- java数字时钟控件_Java-数字时钟(简易版)
- java标签组件命名_java编程规范之java命名规范
- Xshell、Xftp免费版获取教程
- 电信sdn虚拟服务器,数据中心SDN网络的构建及通信业务与光纤引入
- 什么是代理服务器及其作用
- 《可汗学院: 统计学》学习笔记
- 基于 Holt-Winters季节性预测模型 的时间序列预测
- Unity Rigidbody.AddForce 的 ForceMode
- maven打包报内存不足,配置maven vm options