`
happyqing
  • 浏览: 3198275 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js生成UUID

    博客分类:
  • js
阅读更多

js生成UUID

调用方法:可看js说明

Math.uuid(); 常用的

Math.uuidFast(); 这个不用的话可以删了

Math.uuidCompact(); 这个不用的话可以删了

 

/*! 
Math.uuid.js (v1.4) 
http://www.broofa.com 
mailto:robert@broofa.com 
  
Copyright (c) 2010 Robert Kieffer 
Dual licensed under the MIT and GPL licenses. 
*/
  
/* 
 * Generate a random uuid. 
 * 
 * USAGE: Math.uuid(length, radix) 
 *   length - the desired number of characters 
 *   radix  - the number of allowable values for each character. 
 * 
 * EXAMPLES: 
 *   // No arguments  - returns RFC4122, version 4 ID 
 *   >>> Math.uuid() 
 *   "92329D39-6F5C-4520-ABFC-AAB64544E172" 
 * 
 *   // One argument - returns ID of the specified length 
 *   >>> Math.uuid(15)     // 15 character ID (default base=62) 
 *   "VcydxgltxrVZSTV" 
 * 
 *   // Two arguments - returns ID of the specified length, and radix. (Radix must be <= 62) 
 *   >>> Math.uuid(8, 2)  // 8 character ID (base=2) 
 *   "01001010" 
 *   >>> Math.uuid(8, 10) // 8 character ID (base=10) 
 *   "47473046" 
 *   >>> Math.uuid(8, 16) // 8 character ID (base=16) 
 *   "098F4D35" 
 */
(function() { 
  // Private array of chars to use 
  var CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split(''); 
  
  Math.uuid = function (len, radix) { 
    var chars = CHARS, 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(''); 
  }; 
  
  // A more performant, but slightly bulkier, RFC4122v4 solution.  We boost performance 
  // by minimizing calls to random() 
  Math.uuidFast = function() { 
    var chars = CHARS, uuid = new Array(36), rnd=0, r; 
    for (var i = 0; i < 36; i++) { 
      if (i==8 || i==13 ||  i==18 || i==23) { 
        uuid[i] = '-'; 
      } else if (i==14) { 
        uuid[i] = '4'; 
      } else { 
        if (rnd <= 0x02) rnd = 0x2000000 + (Math.random()*0x1000000)|0; 
        r = rnd & 0xf; 
        rnd = rnd >> 4; 
        uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r]; 
      } 
    } 
    return uuid.join(''); 
  }; 
  
  // A more compact, but less performant, RFC4122v4 solution: 
  Math.uuidCompact = function() { 
    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); 
    }); 
  }; 
})(); 

 

<html>
<head>
	<title>UUID测试</title>
	<script src="uuid.js"></script>
	<script src="jquery-1.7.2.min.js"></script>
	<script>
			$(function(){
					var begin = new Date();
					for(var i=0;i<1000;i++){
						//Math.uuid(); //运算1000次,47毫秒
						//Math.uuidFast();//运算1000次,31毫秒
						//Math.uuidCompact();//运算1000次,78-94毫秒
						//$("body").append(Math.uuid()+'<br/>');
						$("body").append(Math.uuid()+'<br/>');
					}
					var end = new Date();
					alert(end.getTime()-begin.getTime()); //1000个 702毫秒
			});
	</script>
</head>
<body>
UUID测试<br/>
</body>

 

分享到:
评论

相关推荐

    Javascript生成UUID 三种方法

    ### JavaScript生成UUID的三种方法详解 #### 一、前言 在软件开发中,经常会遇到需要为特定的数据或对象分配唯一标识符的情况。UUID(通用唯一标识符)就是一种常用的解决方案,它能够确保生成的ID在空间和时间上...

    JS生成UUID

    在JS中生成UUID可以用于创建唯一ID,避免在分布式系统或数据库中出现重复记录。 UUID有多种版本,如V1到V5,每种都有其特定的生成机制。在JS中生成UUID,通常我们会使用第三方库,如`uuid`库,这是一个广泛使用的...

    js生成UUID字符串

    js生成UUID,使用var myuuid=(new UUID()).id;其中myuuid的值就是需要UUID。

    javaScript动态随即生成UUID

    JavaScript生成UUID的核心在于随机数的生成与格式化处理。通过内置的`Math.random()`函数,可以生成介于0到1之间的伪随机数,再通过一系列转换,将其转化为符合UUID格式的字符串。在这个过程中,还需要遵循UUID的...

    javascript生成uuid的js库文件

    在JavaScript中,生成UUID的需求时常出现,例如在生成临时ID、数据库记录的主键或者进行唯一标识时。为了解决这个问题,开发者创建了专门的JS库来生成UUID。 这个压缩包文件"JavaScript的UUid"很可能包含了一个或多...

    Javascript 生成 uuid 函数

    这个函数用最短的代码生成了非常有效的uuid,非常巧妙。短小精悍,一个字符都不多。Returns a random v4 UUID of the form xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, where each x is replaced with a random ...

    用JS生成UUID的方法实例

    以下将详细讲解如何用JS生成UUID的方法实例。 首先,我们需要理解UUID的格式。标准的UUID是一个128位的数字,通常用16进制表示,形式为8-4-4-4-12的32个字符,中间由破折号分隔。例如:`550e8400-e29b-41d4-a716-...

    两行Javascript代码生成UUID的方法

    本文主要介绍了在JavaScript中如何仅用两行代码生成UUID的方法。首先,文章指出,虽然JavaScript的URL.createObjectURL方法可以生成一个唯一的URL来表示传递给它的对象,但这种方法的目的是为了创建可引用的URL对象...

    JS实现点击生成UUID的方法完整实例【基于jQuery】

    1. **JavaScript生成UUID的概念**: UUID是通用唯一识别码(Universally Unique Identifier)的缩写,它是一个128位的值,用于创建唯一标识符。在计算机系统中,UUID常用于生成具有唯一性的标识,如数据库记录、API...

    使用第三方模块Underscore.js,Immutable.js,UUID(源代码+截图)

    使用第三方模块Underscore.js,Immutable.js,UUID(源代码+截图)使用第三方模块Underscore.js,Immutable.js,UUID(源代码+截图)使用第三方模块Underscore.js,Immutable.js,UUID(源代码+截图)使用第三方模块...

    Math.uuid.js

    Math.uuid.js是一个JavaScript库,专门用于生成UUID。本文将深入探讨UUID的概念、其重要性以及Math.uuid.js库的工作原理。 UUID是一个128位的数字,通常以16进制表示,形式为32个字符,如“550e8400-e29b-41d4-a716...

    javascript UUID---js

    在JavaScript中,生成UUID主要用于创建唯一的ID,这对于数据跟踪、对象标识和分布式系统尤其有用。 在给定的博客链接中,作者可能讨论了如何在JavaScript中生成和使用UUID。尽管没有具体的博客内容,但我们可以基于...

    uuid生成器

    UUID生成器工具就是用来根据上述不同版本的规则,方便地生成UUID的软件或在线服务。它们通常提供用户友好的界面,只需点击一个按钮,就能生成一个UUID。这些工具在开发过程中非常实用,尤其是当需要大量唯一的标识符...

    java生成UUID通用唯一识别码.docx

    JavaScript中,生成UUID可以借助第三方库如`uuid`,但原生JavaScript并不直接提供生成UUID的API。通常,开发者会使用一些模拟UUID生成的方法,比如生成一个足够大的随机数,然后将其转化为128位的二进制表示,再转换...

    UUID自动生成库-校验码-常用JS库-uuid-js-master.zip

    A js library to generate and parse UUID's, TimeUUID's and generate empty TimeUUID's based on TimeStamp for ...一个js库,用于生成和解析UUID,TimeUUID,并基于TimeStamp生成空的TimeUUID,以进行范围选择。

    PHP实现生成统一唯一标识符UUID

    // 添加一个刷新链接,以便再次生成UUID echo "&lt;a href='javascript:;' onclick='location.reload();'&gt;刷新&lt;/a&gt;"; ``` 这段代码中,`create_uuid()`函数首先通过`md5(uniqid(mt_rand(), true))`生成一个基于当前...

    UUID.js, 用于JavaScript的符合RFC的UUID生成器.zip

    UUID.js, 用于JavaScript的符合RFC的UUID生成器 电子邮件名称UUID.js - 适用于JavaScript的兼容UUID生成器概要&lt;!-- HTML5 --&gt;[removed][removed]&

    uuid:简单的UUID生成

    @ freeasin / uuid 一个简单的UUID v4生成模块起源该模块基于对的最小字节答案。 该答案已修改为: 受到好评在浏览器和双方的NodeJS运行浏览器打包为ES6模块用法npm install @freeasin/uuid 节点JS const { v4 } = ...

Global site tag (gtag.js) - Google Analytics