js生成32位uuid和调用方法_js生成uuid (36位)去掉连接符(32位)

/* uuid.js - Version 0.3 JavaScript Class to create a UUID like identifier Copyright (C) 2006-2008, Erik Giberti (AF-Design), All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA The latest version of this file can be downloaded from http://www.af-design.com/resources/javascript_uuid.php HISTORY: 6/5/06     - Initial Release 5/22/08 - Updated code to run faster, removed randrange(min,max) in favor of           a simpler rand(max) function. Reduced overhead by using getTime()           method of date class (suggestion by James Hall). 9/5/08    - Fixed a bug with rand(max) and additional efficiencies pointed out       by Robert Kieffer http://broofa.com/ KNOWN ISSUES: - Still no way to get MAC address in JavaScript - Research into other versions of UUID show promising possibilities   (more research needed) - Documentation needs improvement */ // On creation of a UUID object, set it's initial value function UUID(){     this.id = this.createUUID(); } // When asked what this Object is, lie and return it's value UUID.prototype.valueOf = function(){ return this.id; } UUID.prototype.toString = function(){ return this.id; } // // INSTANCE SPECIFIC METHODS // UUID.prototype.createUUID = function(){     //     // Loose interpretation of the specification DCE 1.1: Remote Procedure Call     // described at http://www.opengroup.org/onlinepubs/009629399/apdxa.htm#tagtcjh_37     // since JavaScript doesn't allow access to internal systems, the last 48 bits     // of the node section is made up using a series of random numbers (6 octets long).     //      var dg = new Date(1582, 10, 15, 0, 0, 0, 0);     var dc = new Date();     var t = dc.getTime() - dg.getTime();     var tl = UUID.getIntegerBits(t,0,31);     var tm = UUID.getIntegerBits(t,32,47);     var thv = UUID.getIntegerBits(t,48,59) + '1'; // version 1, security version is 2     var csar = UUID.getIntegerBits(UUID.rand(4095),0,7);     var csl = UUID.getIntegerBits(UUID.rand(4095),0,7);     // since detection of anything about the machine/browser is far to buggy,     // include some more random numbers here     // if NIC or an IP can be obtained reliably, that should be put in     // here instead.     var n = UUID.getIntegerBits(UUID.rand(8191),0,7) +             UUID.getIntegerBits(UUID.rand(8191),8,15) +             UUID.getIntegerBits(UUID.rand(8191),0,7) +             UUID.getIntegerBits(UUID.rand(8191),8,15) +             UUID.getIntegerBits(UUID.rand(8191),0,15); // this last number is two octets long     return tl + tm  + thv  + csar + csl + n; } // // GENERAL METHODS (Not instance specific) // // Pull out only certain bits from a very large integer, used to get the time // code information for the first part of a UUID. Will return zero's if there // aren't enough bits to shift where it needs to. UUID.getIntegerBits = function(val,start,end){     var base16 = UUID.returnBase(val,16);     var quadArray = new Array();     var quadString = '';     var i = 0;     for(i=0;i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值