码迷,mamicode.com
首页 > Web开发 > 详细

JS - 生成UUID

时间:2017-07-21 10:45:56      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:for   nbsp   生成   random   logs   mat   orm   i++   ==   

 

function uuid(len, radix) {
  var chars = ‘0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz‘.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(‘‘);
}

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

// 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"

 

JS - 生成UUID

标签:for   nbsp   生成   random   logs   mat   orm   i++   ==   

原文地址:http://www.cnblogs.com/jzsz/p/7215574.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!