使用方法:
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, g); } else{ InitByOther(arr); } //返回一个值,该值指示 Guid 的两个实例是否表示同一个值。 this.Equals = function(o){ if (o && o.IsGuid){ return this.ToString() == o.ToString(); } else{ return false; } } //Guid对象的标记 this.IsGuid = function(){} //返回 Guid 类的此实例值的 String 表示形式。 this.ToString = function(format){ if(typeof(format) == "string"){ if (format == "N" || format == "D" || format == "B" || format == "P"){ return ToStringWithFormat(arr, format); } else{ return ToStringWithFormat(arr, "D"); } } else{ return ToStringWithFormat(arr, "D"); } } //由字符串加载 function InitByString(arr, g){ g = g.replace(/\{|\(|\)|\}|-/g, ""); g = g.toLowerCase(); if (g.length != 32 || g.search(/[^0-9,a-f]/i) != -1){ InitByOther(arr); } else{ for (var i = 0; i < g.length; i++){ arr.push(g[i]); } } } //由其他类型加载 function InitByOther(arr){ var i = 32; while(i--){ arr.push("0"); } } /* 根据所提供的格式说明符,返回此 Guid 实例值的 String 表示形式。 N 32 位: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx D 由连字符分隔的 32 位数字 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx B 括在大括号中、由连字符分隔的 32 位数字:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} P 括在圆括号中、由连字符分隔的 32 位数字:(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) */ function ToStringWithFormat(arr, format){ switch(format){ case "N": return arr.toString().replace(/,/g, ""); case "D": var str = arr.slice(0, 8) + "-" + arr.slice(8, 12) + "-" + arr.slice(12, 16) + "-" + arr.slice(16, 20) + "-" + arr.slice(20,32); str = str.replace(/,/g, ""); return str; case "B": var str = ToStringWithFormat(arr, "D"); str = "{" + str + "}"; return str; case "P": var str = ToStringWithFormat(arr, "D"); str = "(" + str + ")"; return str; default: return new Guid(); } } } //Guid 类的默认实例,其值保证均为零。 Guid.Empty = new Guid(); //初始化 Guid 类的一个新实例。 Guid.NewGuid = function(){ var g = ""; var i = 32; while(i--){ g += Math.floor(Math.random()*16.0).toString(16); } return new Guid(g); } |
转自:http://www.cnblogs.com/sunnycoder/archive/2010/03/08/1681124.html
简单写法:
//生成随机guid数 function getGuidGenerator() { var S4 = function() { return (((1+Math.random())*0x10000)|0).toString(16).substring(1); }; return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4()); }
相关推荐
将Guid的格式转换为oracle的识别的格式
js生成Guid序列号
sql server2000 下创建guid的主键语法,适用于从oracle转移到sql上使用
LabVIEW通过调用.net实现全球唯一码GUID的生成。 只有一个VI,简单快捷。
在ASP里面创建GUID全球惟一码,在ASP里面创建GUID全球惟一码,在ASP里面创建GUID全球惟一码,在ASP里面创建GUID全球惟一码。 如:2D5FDE03-4256-4FF7-B674-B0E31DD305EC
易语言GUID批量生成器源码,GUID批量生成器,生成新的GUID,验证,生成GUID并加入列表,后续处理,CoCreateGuid
GUID生成器 GUID生成小程序 快速生成GUID,自动复制到剪贴板。
VS开发环境中的创建GUID工具 guidgen VS IDE中如果工具菜单下的创建GUID工具显示为灰色是因为缺少这个文件,所以复制此文件至 VS安装目录\Common7\Tools 这个目录下即可
大家都知道GUID在前端开发中用处不大,但如果需要插入某个ID,并且这个ID与后台对应等其它需要GUID的操作时,为了方便,我们还是可以生成一个GUID的。 一般在sql、java、C#等后台或数据库语言中生成GUID都很简单...
Guid生成和剪贴板操作,含有源代码,实现的是手动生成Guid或者自动生成Guid并复制到剪贴板。
生成GUID程序,C#源代码,System.Guid.NewGuid().ToString()全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装。在许多流行软件应用程序(例如 Web 浏览器和媒体播放器)中,都使用 GUID。 GUID...
模仿VS自带的GUID生成器,可生产GUID编码,点击即可复制到粘贴板
华擎主板用编程器刷BIOS后,会造成1394GUID丢失,开机启动后必须按F1才能继续下一步(进BIOS、选择启动菜单、进操作系统)。用此工具可重新写入1394GUID,免去开机后按F1的烦恼。
GUID生成工具源码 guid生成工具,有源码的。 .NET C# GUID自动生成
轻松修改文件guid的小工具。全局唯一标识替换工具,作者Yonsm.net
纯java代码生成唯一标示GUID, 转换成标准的GUID码例如: C2FEEEAC-CFCD-11D1-8B05-00600806D9B6
代码如下:JScript 代码如下:function GenerateGuid() { var TypeLib = new ActiveXObject(“Scriptlet.TypeLib”); return (TypeLib.Guid); } VBScript 代码如下:Function GenerateGuid() Dim ...
Guid生成器,方便快捷, 下面的字水了: 全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想...
使用 jquery时出现 'guid' 为空或不是对象的问题