在开发过程中,有时候需要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的四种方法相关推荐

  1. JS生成 UUID的四种方法

    全局唯一标识符(GUID,Globally Unique Identifier)也称作 UUID(Universally Unique IDentifier) . GUID是一种由算法生成的二进制长度 ...

  2. JavaScript生成uuid的四种方法

    在开发过程中,有时候需要js生成全局唯一标识符,在java中可以使用uuid,但是JS中没有现成的函数.总结了一下,JS生成唯一标识符的几种方法. 第一种 function guid() {retur ...

  3. js 生成UUID的几种方法

    简介: UUID(Universally Unique IDentifier) 全局唯一标识符. UUID是一种由算法生成的二进制长度为128位的数字标识符.UUID 的格式为"xxxxxx ...

  4. 前端面试题:使用css生成田字格的四种方法

    使用css生成田字格的四种方法 html结构 css基础样式 第一种 flex布局 第二种 绝对定位 第三种 css瀑布流 第四种 float浮动 html结构 <div class=" ...

  5. js数组去重的四种方法

    四种算法来实现这个目的: Array.prototype.unique1 = function () {var n = []; //一个新的临时数组for (var i = 0; i < thi ...

  6. JS获取随机数的四种方法(转)

    原帖:https://www.jb51.net/article/82747.htm JS没有现成的函数,能够直接生成指定范围的随机数. 但是它有个函数:Math.random()  这个函数可以生成 ...

  7. 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. ...

  8. JS类型判断的四种方法以及各自的注意点

    基本类型:String.Number.Boolean.Symbol.Undefined.Null 引用类型:Object (引用类型除 Object 外,还包括 Function .Array.Reg ...

  9. js 判断数据类型的四种方法

    1,typeof typeof 返回的数据类型有 undefined boolean (true,false) string symbol number function object 注意  typ ...

  10. js创建数组的四种方法【2021.11.13】

    参考书籍<JavaScript百炼成仙> 1.直接量定义数组: var arr = [1,2,3]; 2.采用构造函数的方法创建数组对象: var a =new Array(); 3.也是 ...

最新文章

  1. hbase以mr导数据方式
  2. 密码学研究-数字签名
  3. 英特尔在移动市场另辟蹊径
  4. 获取pheatmap聚类后和标准化后的结果
  5. 遮掩java_关于java中的覆写、重载、隐藏、遮掩、遮蔽
  6. java uml 为什么_Java开发为什么需要UML
  7. Shiro+springboot+mybatis(md5+salt+散列)认证与授权-01
  8. Apache(3)——配置文件里的各参数(1)
  9. window 安装python 环境
  10. 剑指offer_06
  11. influxDB集群模式实践
  12. java数字时钟控件_Java-数字时钟(简易版)
  13. java标签组件命名_java编程规范之java命名规范
  14. Xshell、Xftp免费版获取教程
  15. 电信sdn虚拟服务器,数据中心SDN网络的构建及通信业务与光纤引入
  16. 什么是代理服务器及其作用
  17. 《可汗学院: 统计学》学习笔记
  18. 基于 Holt-Winters季节性预测模型 的时间序列预测
  19. Unity Rigidbody.AddForce 的 ForceMode
  20. maven打包报内存不足,配置maven vm options

热门文章

  1. 移动端车牌识别sdk——技术干货
  2. Docker 容器监控Cadvisor+Prometheus+Grafana
  3. Linux 入门必备命令
  4. 关于3D打印文件格式:STL、OBJ、AMF、3MF的详解
  5. idea 安装 jclasslib
  6. TIFF图像文件格式解析
  7. matlab声明全局变量 global
  8. 最新圣思园经典Java培训教学全套
  9. 电流环扰动观测器、PI参数自动生成 观测器对扰动进行补偿,能有效提高电流环抗扰动能力,并且能对反电势扰动起到很好的作用
  10. ExactScan Pro 18.12.24 Mac 破解版 万能扫描仪整合工具