本文记录几个在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
分享到:
相关推荐
通过创建一个临时的Blob对象并生成对应的URL,再从这个URL中提取出唯一的部分作为UUID,这种方法利用了URL生成的独特性质来实现UUID的生成。 接着,文章展示了几种生成GUID(全球唯一标识符)的方法,尽管GUID和...
在JavaScript中,生成唯一ID(Unique Identifier)是一个常见的需求,特别是在Web开发中,例如用于创建唯一的用户会话、DOM元素标识或数据库记录等。这里,我们探讨了几种生成唯一ID的方法,结合了时间戳和随机数,...
在提供的代码片段中,已经给出了一个简单的测试用例,包括了几个基本的测试场景。实际应用中,你需要根据具体需求编写更全面的测试用例,以覆盖各种可能的情况,确保函数的健壮性。 总之,查找最近的共有祖先元素是...
这个项目可能涵盖了以下几个关键知识点: 1. **Mongoose**: Mongoose 提供了一个强大的接口,允许开发者定义数据模型,进行数据验证,处理关联,以及提供事务支持。在这个项目中,`UserSchema` 可能是定义了一个...
在这个方法中,有以下几个关键步骤: 1. **设置 UUID**:每个 Datepicker 实例都有一个唯一的标识符(UUID),通过当前时间距1970年1月1日的毫秒数生成,用于区分不同的日期选择器实例。 2. **设置参数**:`_set...
在JavaScript(简称JS)中,Guid(全局唯一标识符,又称UUID)是一种广泛使用的128位数字标准,用于在分布式系统中唯一标识对象。它通常由32个16进制数字组成,并用短横线分隔成五个部分。在JavaScript中,虽然没有...
在JavaScript中,命令模式通常涉及到以下几个关键角色: 1. **命令接口(Command)**:定义了一个执行操作的接口。通常包含一个execute()方法,用于执行具体的业务逻辑。 2. **具体命令(Concrete Command)**:实现了...
在 ExtJS 3 里生成表的几个框架组件,ExtJS4 大多生成 div,这使得 CSS classes 将会失败。ExtJS4 已完全重新写 grid 组件,tree 也被更新,所以从版本 3 到 4 大部分的属性改变了。 在 ExtJS4 中,API 也发生了很...
总结一下,创建一个基于JavaScript的不重复ID生成器,需要考虑以下几个关键点: 1. **随机数生成**:使用`Math.random()`生成浮点数,然后转换为高进制(如16进制或36进制),以减小重复概率。 2. **时间戳结合**:...
首先,文件上传的基本流程包括以下几个步骤: 1. **前端交互**:用户在网页上选择文件后,JavaScript通过HTML5的`<input type="file">`元素获取选中的文件。`FileReader` API可以用于预览文件内容,`FormData`对象...
jQuery的核心数据缓存结构包含以下几个关键部分: 1. `cache`: 全局缓存对象,保存所有DOM元素的数据。 2. `uuid`: 用于生成唯一ID的种子。 3. `expando`: 用于给DOM元素添加的唯一标识属性名。 4. `hasData`: 检查...
在本项目中,我们主要关注以下几个关键知识点: 1. **HTML5 Web Bluetooth API**:这是HTML5提供的一种API,允许Web应用程序与支持蓝牙通用属性配置文件(GATT)的设备进行通信。通过这个API,开发者可以在网页上实现...
视频教程可能还会详细解释如何在JSP页面中创建上传表单,以及如何使用SmartUpload的JavaScript方法与后端交互,例如设置上传按钮的点击事件触发文件选择和提交。 总的来说,SmartUpload简化了文件上传的实现,让...
ATL控件的开发通常涉及到以下几个关键知识点: 1. ATL基础:ATL是Microsoft的一个C++模板库,它提供了许多宏和模板类,以减少编写COM组件所需的代码量。ATL的设计使得开发者能够高效地创建COM对象,尤其是在创建轻...
根据提供的信息,我们可以总结并扩展出以下几个关键知识点: ### 常用导出-java #### 知识点一:导出功能实现原理 在Java Web应用中,导出功能是常见的需求之一,尤其是在数据报表、统计分析等场景下。本案例通过...
总结一下,这个项目涉及到了以下几个知识点: 1. JSON:数据交换格式,易于阅读和编写,被广泛应用于Web服务。 2. JSON Generator:一个在线工具,用于生成动态的JSON数据。 3. 数据模拟:使用JSON生成器创建模拟的...
在实际应用中,我们还需要考虑以下几个关键点: 1. **安全性**:确保只接受特定类型的文件,防止恶意文件上传,如脚本或病毒。 2. **文件命名**:为了避免文件重名,可以使用时间戳或UUID作为文件名的一部分。 3. *...
在"struts2+jquery.uploadify实现上传下载"的场景中,我们主要关注以下几个关键知识点: 1. **Struts2上传**:Struts2通过Interceptor(拦截器)机制实现了文件上传功能。默认情况下,Struts2配置了一个名为`params...
该算法由Twitter开源,其生成的ID由64位的二进制数字组成,分为以下几个部分: 1. **时间戳**(41位):从指定的起始时间(例如2015年1月1日,对应的毫秒数1288834974657)到现在的毫秒数。这41位可以表示大约69年...
- 数据库表维护:在特定数据库中维护一个自增ID表,每次需要ID时加锁更新,但并发性能较低。 - Redis管理:Redis的单线程特性可以保证ID的唯一性,但同样不适用于高并发场景。 - UUID:虽然能保证唯一性,但UUID是...