`
MouseLearnJava
  • 浏览: 465964 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Javascript中创建UUID的几个方法

阅读更多
本文记录几个在Javascript中创建UUID的几个方法。
方法1
var guid = (function() {
  function s4() {
    return Math.floor((1 + Math.random()) * 0x10000)
               .toString(16)
               .substring(1);
  }
  return function() {
    return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
           s4() + '-' + s4() + s4() + s4();
  };
})();


调用方法 var uuid = guid();


方法2
function generateGuid() {
  var result, i, j;
  result = '';
  for(j=0; j<32; j++) {
    if( j == 8 || j == 12|| j == 16|| j == 20) 
      result = result + '-';
    i = Math.floor(Math.random()*16).toString(16).toUpperCase();
    result = result + i;
  }
  return result;
}


方法3
function createUUID() {
    // http://www.ietf.org/rfc/rfc4122.txt
    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 0010
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);  // bits 6-7 of the clock_seq_hi_and_reserved to 01
    s[8] = s[13] = s[18] = s[23] = "-";

    var uuid = s.join("");
    return uuid;
}


原文地址http://www.wangmengjun.com/showCodeCollectionDetail.do?codeCollectionId=8
0
0
分享到:
评论

相关推荐

    两行Javascript代码生成UUID的方法

    通过创建一个临时的Blob对象并生成对应的URL,再从这个URL中提取出唯一的部分作为UUID,这种方法利用了URL生成的独特性质来实现UUID的生成。 接着,文章展示了几种生成GUID(全球唯一标识符)的方法,尽管GUID和...

    【JavaScript源代码】JavaScript 生成唯一ID的几种方式.docx

    在JavaScript中,生成唯一ID(Unique Identifier)是一个常见的需求,特别是在Web开发中,例如用于创建唯一的用户会话、DOM元素标识或数据库记录等。这里,我们探讨了几种生成唯一ID的方法,结合了时间戳和随机数,...

    js中查找最近的共有祖先元素的实现代码.docx

    在提供的代码片段中,已经给出了一个简单的测试用例,包括了几个基本的测试场景。实际应用中,你需要根据具体需求编写更全面的测试用例,以覆盖各种可能的情况,确保函数的健壮性。 总之,查找最近的共有祖先元素是...

    UserSchemaUsingMongoose-UUID-Crypto_PasswordEncrypted

    这个项目可能涵盖了以下几个关键知识点: 1. **Mongoose**: Mongoose 提供了一个强大的接口,允许开发者定义数据模型,进行数据验证,处理关联,以及提供事务支持。在这个项目中,`UserSchema` 可能是定义了一个...

    Datepicker日期选择插件使用简介

    在这个方法中,有以下几个关键步骤: 1. **设置 UUID**:每个 Datepicker 实例都有一个唯一的标识符(UUID),通过当前时间距1970年1月1日的毫秒数生成,用于区分不同的日期选择器实例。 2. **设置参数**:`_set...

    js生成Guid序列号

    在JavaScript(简称JS)中,Guid(全局唯一标识符,又称UUID)是一种广泛使用的128位数字标准,用于在分布式系统中唯一标识对象。它通常由32个16进制数字组成,并用短横线分隔成五个部分。在JavaScript中,虽然没有...

    JavaScript命令模式原理与用法实例详解

    在JavaScript中,命令模式通常涉及到以下几个关键角色: 1. **命令接口(Command)**:定义了一个执行操作的接口。通常包含一个execute()方法,用于执行具体的业务逻辑。 2. **具体命令(Concrete Command)**:实现了...

    extJs3升级extjs4方案

    在 ExtJS 3 里生成表的几个框架组件,ExtJS4 大多生成 div,这使得 CSS classes 将会失败。ExtJS4 已完全重新写 grid 组件,tree 也被更新,所以从版本 3 到 4 大部分的属性改变了。 在 ExtJS4 中,API 也发生了很...

    基于Javascript实现的不重复ID的生成器

    总结一下,创建一个基于JavaScript的不重复ID生成器,需要考虑以下几个关键点: 1. **随机数生成**:使用`Math.random()`生成浮点数,然后转换为高进制(如16进制或36进制),以减小重复概率。 2. **时间戳结合**:...

    文件上传示例

    首先,文件上传的基本流程包括以下几个步骤: 1. **前端交互**:用户在网页上选择文件后,JavaScript通过HTML5的`&lt;input type="file"&gt;`元素获取选中的文件。`FileReader` API可以用于预览文件内容,`FormData`对象...

    jQuery中数据缓存$.data的用法及源码完全解析.pdf

    jQuery的核心数据缓存结构包含以下几个关键部分: 1. `cache`: 全局缓存对象,保存所有DOM元素的数据。 2. `uuid`: 用于生成唯一ID的种子。 3. `expando`: 用于给DOM元素添加的唯一标识属性名。 4. `hasData`: 检查...

    H5 蓝牙模块数据传输demo

    在本项目中,我们主要关注以下几个关键知识点: 1. **HTML5 Web Bluetooth API**:这是HTML5提供的一种API,允许Web应用程序与支持蓝牙通用属性配置文件(GATT)的设备进行通信。通过这个API,开发者可以在网页上实现...

    SmartUpload文件上传

    视频教程可能还会详细解释如何在JSP页面中创建上传表单,以及如何使用SmartUpload的JavaScript方法与后端交互,例如设置上传按钮的点击事件触发文件选择和提交。 总的来说,SmartUpload简化了文件上传的实现,让...

    VS2010 ATL控件代码

    ATL控件的开发通常涉及到以下几个关键知识点: 1. ATL基础:ATL是Microsoft的一个C++模板库,它提供了许多宏和模板类,以减少编写COM组件所需的代码量。ATL的设计使得开发者能够高效地创建COM对象,尤其是在创建轻...

    常用导出-java

    根据提供的信息,我们可以总结并扩展出以下几个关键知识点: ### 常用导出-java #### 知识点一:导出功能实现原理 在Java Web应用中,导出功能是常见的需求之一,尤其是在数据报表、统计分析等场景下。本案例通过...

    account随机json生成脚本

    总结一下,这个项目涉及到了以下几个知识点: 1. JSON:数据交换格式,易于阅读和编写,被广泛应用于Web服务。 2. JSON Generator:一个在线工具,用于生成动态的JSON数据。 3. 数据模拟:使用JSON生成器创建模拟的...

    多文件上传实例

    在实际应用中,我们还需要考虑以下几个关键点: 1. **安全性**:确保只接受特定类型的文件,防止恶意文件上传,如脚本或病毒。 2. **文件命名**:为了避免文件重名,可以使用时间戳或UUID作为文件名的一部分。 3. *...

    struts2+jquery.uploadify实现上传下载

    在"struts2+jquery.uploadify实现上传下载"的场景中,我们主要关注以下几个关键知识点: 1. **Struts2上传**:Struts2通过Interceptor(拦截器)机制实现了文件上传功能。默认情况下,Struts2配置了一个名为`params...

    Js Snowflake(雪花算法)生成随机ID的实现方法

    该算法由Twitter开源,其生成的ID由64位的二进制数字组成,分为以下几个部分: 1. **时间戳**(41位):从指定的起始时间(例如2015年1月1日,对应的毫秒数1288834974657)到现在的毫秒数。这41位可以表示大约69年...

    利用mysql实现的雪花算法案例

    - 数据库表维护:在特定数据库中维护一个自增ID表,每次需要ID时加锁更新,但并发性能较低。 - Redis管理:Redis的单线程特性可以保证ID的唯一性,但同样不适用于高并发场景。 - UUID:虽然能保证唯一性,但UUID是...

Global site tag (gtag.js) - Google Analytics