guid生成

Javascript生成类GUID随机字符串

帅比萌擦擦* 提交于 2019-12-07 00:22:43
感觉原文对js生成guid理解表述不准确,固改了标题,标题是个人的理解 原文地址是:http://www.cnblogs.com/NoRoad/archive/2010/03/12/1684759.html 方法一: //JS生成类GUID function S4() { return (((1+Math.random())*0x10000)|0).toString(16).substring(1); } function NewGuid() { return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4()); } 方法二: function newGuid() { var guid = "" ; for ( var i = 1 ; i <= 32 ; i ++ ){ var n = Math.floor(Math.random() * 16.0 ).toString( 16 ); guid += n; if ((i == 8 ) || (i == 12 ) || (i == 16 ) || (i == 20 )) guid += " - " ; } return guid; } 来源: CSDN 作者: DO_DAJIANGJUN 链接: https://blog.csdn.net/XuWei_XuWei

使用js生成GUID的方法

…衆ロ難τιáo~ 提交于 2019-12-07 00:22:30
转载自:https://www.cnblogs.com/kongxiaoshuang/p/6797126.html function GUID () { this .date = new Date (); /* 判断是否初始化过,如果初始化过以下代码,则以下代码将不再执行,实际中只执行一次 */ if ( typeof this .newGUID != 'function' ) { /* 生成GUID码 */ GUID .prototype. newGUID = function () { this .date = new Date (); var guidStr = '' ; sexadecimalDate = this . hexadecimal ( this . getGUIDDate (), 16 ); sexadecimalTime = this . hexadecimal ( this . getGUIDTime (), 16 ); for ( var i = 0 ; i < 9 ; i ++ ) { guidStr += Math . floor ( Math . random () * 16 ). toString ( 16 ); } guidStr += sexadecimalDate; guidStr += sexadecimalTime; while

使用js生成GUID

别等时光非礼了梦想. 提交于 2019-12-07 00:18:06
使用方法: 1、 生成一个新 GUID : var guid = Guid.NewGuid(); 2、 生成一个所有值均为 0 的 GUID : a) var guid = new Guid(); b) var guid = Guid.Empty; 3、 比较两个 GUID 是否相等: g1.Equals(g2); 4、 获取 Guid 的字符串形式。其中, format 为 String 类型的可选参数,其含义为: a) “N” : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx b) “D” 由连字符分隔的 32 位数字 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx c) “B” 括在大括号中、由连字符分隔的 32 位数字: {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} d) “P” 括在圆括号中、由连字符分隔的 32 位数字: (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) 代码如下: // 表示全局唯一标识符 (GUID) 。 function Guid(g){ var arr = new Array(); // 存放 32 位数值的数组 if ( typeof (g) == "string" ){ // 如果构造函数的参数为字符串 InitByString(arr,

JS生成GUID方法

ぐ巨炮叔叔 提交于 2019-12-07 00:17:52
全局唯一标识 (GUID)是一种由算法生成的二进制长度为 128位 的数字标识符,GUID主要用于拥有多个节点,多台计算机的网络或系统中。在理想情况下任何计算几何计算机群都不会生成两个相同的GUID,GUID的总数为 2^128 个,理论上是很难会两个相同。GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制数。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。 需要GUID的时候,可以完全由算法自动生成,不需要一个权威机构来管理。 GUID理论上能产生全球唯一的值,对于以后的数据导入很方便。 生成两个相同的GUID的可能性非常小,但不为0,所以生成GUID的短发通常都加入了非随机的参数(如 事件)保证这种重复情况绝对不会发生。 方法一: function GUID() { this.date = new Date(); /* 判断是否初始化过,如果初始化过以下代码,则以下代码将不再执行,实际中只执行一次 */ if (typeof this.newGUID != 'function') { /* 生成GUID码 */ GUID.prototype.newGUID = function () { this.date = new

JavaScript生成GUID的方法

爱⌒轻易说出口 提交于 2019-12-07 00:17:38
GUID全称为全局唯一标识符,也称作 UUID,GUID是一种由算法生成的二进制长度为128位的数字标识符。GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中的 x 是 0-9 或 a-f 范围内的一个32位十六进制数。GUID 的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。 一、生成GUID的方法一 function guid() { function S4() { return (((1+Math.random())*0x10000)|0).toString(16).substring(1); } return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4()); } 二、生成GUID的方法二 function guid() { 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); }); } 三、生成GUID的方法三 function uuid(

js 生成 guid

。_饼干妹妹 提交于 2019-12-07 00:17:19
GUID(全球唯一标识)是微软使用的一个术语,由一个特定的算法,给某一个实体,如Word文档,创建一个唯一的标识,GUID值就是这个唯一的标识码.除了.Net有专门的方法生成外,JS也可以生成GUID,一般有两种方式,分别是 方法一: //JS生成GUID函数,类似.net中的NewID(); function S4() { return (((1+Math.random())*0x10000)|0).toString(16).substring(1); } function NewGuid() { return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4()); } 方法二: function newGuid() { var guid = ""; for (var i = 1; i <= 32; i++){ var n = Math.floor(Math.random()*16.0).toString(16); guid += n; if((i==8)||(i==12)||(i==16)||(i==20)) guid += "-"; } return guid; } 由于项目的需要,要在前台生成全球唯一标示,所以在这列出来,以便可以帮助到更多人! http://hi.baidu.com/haofz1983/item

获取newsequentialid()的值

∥☆過路亽.° 提交于 2019-12-04 12:04:36
DB中表的主键为uniqueidentifier且没有另建聚集索引时,使用newsequentialid()作为默认值来生成顺序的guid 有时程序需要在insert后获取到生成的guid继续处理,如,插入到其他表中。获取方法如下: 声明表变量,通过output inserted读取生成ID declare @tb_id table(ID uniqueidentifier) insert into TableTest(Col1,Col2) OUTPUT INSERTED.TestID INTO @tb_id values('Col1Value','Col2Value') select ID from @tb_id    来源: https://www.cnblogs.com/zoex/p/11862918.html

如何在高并发分布式系统中生成全局唯一ID

筅森魡賤 提交于 2019-12-04 05:41:52
最近公司用到,并且在找最合适的方案,希望大家多参与讨论和提出新方案。我和我的小伙伴们也讨论了这个主题,我受益匪浅啊…… 博文示例: GUID生成Int64值后是否还具有唯一性测试 Random生成高唯一性随机码 今天分享的主题是:如何在高并发分布式系统中生成全局唯一Id。 但这篇博文实际上是“半分享半讨论”的博文: 1) 半分享是我将说下我所了解到的关于今天主题所涉及的几种方案。 2) 半讨论是我希望大家对各个方案都说说自己的见解,更加希望大家能提出更好的方案。(我还另外提问在此: http://q.cnblogs.com/q/53552/ ) 我了解的方案如下…………………………………………………………………… 1、 使用数据库自增Id 优势:编码简单,无需考虑记录唯一标识的问题。 缺陷: 1) 在大表做水平分表时,就不能使用自增Id,因为Insert的记录插入到哪个分表依分表规则判定决定,若是自增Id,各个分表中Id各自增长就会重复 2) 在业务上操作父、子表(即关联表)插入时,需要在插入数据库 之前 获取max(id)用于标识父表和子表关系,若存在并发获取max(id)的情况,max(id)会同时被别的线程获取到。 3) DB数据记录都是可以根据ID号进行推测出来,对于一些数据敏感的场景,不建议采用 结论:适合小应用,无需分表,低并发。 2、 单独开一个数据库

Oracle中生成UUID总结

你离开我真会死。 提交于 2019-12-03 13:13:00
生成UUID使用sys_guid()函数即可 select sys_guid() from dual; 但是上面获取的是RAW类型, 我们通常需要的是VARCHAR2类型的字符串 select lower(RAWTOHEX(sys_guid())) from dual; 使用这个即可获取到转为小写的并且是字符串的UUID 如果是在存储过程中应用, 可以创建一个FUNCTION来返回对应的UUID, 方便我们调用 --返回不带'-'的UUID CREATE OR REPLACE FUNCTION get_uuid RETURN VARCHAR IS guid VARCHAR(50); BEGIN guid := lower(RAWTOHEX(sys_guid())); RETURN guid; END get_uuid; --返回带'-'的UUID CREATE OR REPLACE FUNCTION get_uuid RETURN VARCHAR IS guid VARCHAR(50); BEGIN guid := lower(RAWTOHEX(sys_guid())); RETURN substr(guid, 1, 8) || '-' || substr(guid, 9, 4) || '-' || substr(guid, 13,4) || '-' || substr(guid,