电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

兩行Javascript代碼生成UUID的方法

瀏覽:136日期:2023-10-23 14:00:16

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。

發現一個簡單的方法,可以在不依賴第三方庫的情況下,在 Javascript 應用程序中生成 UUID。

function uuid() { var temp_url = URL.createObjectURL(new Blob()); var uuid = temp_url.toString(); // blob:https://xxx.com/b250d159-e1b6-4a87-9002-885d90033be3 URL.revokeObjectURL(temp_url); return uuid.substr(uuid.lastIndexOf('/') + 1);}

在 Javascript 中可以用的 URL.createObjectURL 方法創建一個惟一的 URL,以表示傳遞給它的對象。為了讓這個 URL 是唯一的, URL.createObjectURL 方法返回的 URL 會帶上一段 36 位長的字符串,和 UUID 的長度一致,通過這個原理,就可以模擬 UUID 了。

下面是這個方法生成的 UUID 的一些例子:

for (var i = 0; i < 10; ++i) { console.log(uuid());}// 執行結果如下// f6ca05c0-fad5-46fc-a237-a8e930e7cb49// 6a88664e-51e1-48c3-a85e-7bf00467e9e6// e6050f4c-e86d-4081-9376-099bfbef2c30// bde3da3c-b318-4498-8a03-9a773afa84bd// ba0fda03-f806-4c2f-b6f5-1e74a299e603// 62b2edc3-b09f-4bf9-8dbf-c4d599479a29// e70c0609-22ad-4493-abcc-0e3445291397// 920255b2-1838-497d-bc33-56550842b378// 45559c64-971c-4236-9cfc-706048b60e70// 4bc4bbb9-1e90-432b-99e8-277b40af92cd

注意: URL.createObjectURL 的目的不是生成隨機 UUID。 因此,上述生成 UUID 的方法可能會導致我尚未意識到的副作用。 其他方法

一、生成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() { 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;}

參考鏈接:Standalone UUID generator in Javascript

到此這篇關于兩行Javascript代碼生成UUID的方法的文章就介紹到這了,更多相關Javascript生成UUID內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂 | 陕西高职单招-陕西高职分类考试网| 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | 广东教师资格网-广东教师资格证考试网| 附着力促进剂-尼龙处理剂-PP处理剂-金属附着力处理剂-东莞市炅盛塑胶科技有限公司 | 深圳APP开发_手机软件APP定制外包_小程序开发公司-来科信 | 万博士范文网-您身边的范文参考网站Vanbs.com | 中药超微粉碎机(中药细胞级微粉碎)-百科 | b2b网站大全,b2b网站排名,找b2b网站就上地球网 | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 飞歌臭氧发生器厂家_水处理臭氧发生器_十大臭氧消毒机品牌 | 合肥风管加工厂-安徽螺旋/不锈钢风管-通风管道加工厂家-安徽风之范 | 缠膜机|缠绕包装机|无纺布包装机-济南达伦特机械设备有限公司 | 仪器仪表网 - 永久免费的b2b电子商务平台| 冷水机-工业冷水机-冷水机组-欧科隆品牌保障 | 工业铝型材生产厂家_铝合金型材配件批发精加工定制厂商 - 上海岐易铝业 | 熔体泵_熔体出料泵_高温熔体泵-郑州海科熔体泵有限公司 | AGV无人叉车_激光叉车AGV_仓储AGV小车_AGV无人搬运车-南昌IKV机器人有限公司[官网] | 【化妆品备案】进口化妆品备案流程-深圳美尚美化妆品有限公司 | 翅片管换热器「型号全」_厂家-淄博鑫科环保 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 恒温恒湿试验箱_高低温试验箱_恒温恒湿箱-东莞市高天试验设备有限公司 | 防水套管厂家-柔性防水套管-不锈钢|刚性防水套管-天翔管道 | 吉祥新世纪铝塑板_生产铝塑板厂家_铝塑板生产厂家_临沂市兴达铝塑装饰材料有限公司 | 水轮机密封网 | 水轮机密封产品研发生产厂家 | 赛尔特智能移动阳光房-阳光房厂家-赛尔特建筑科技(广东)有限公司 | 丝印油墨_水性油墨_环保油墨油漆厂家_37国际化工 | 首页|专注深圳注册公司,代理记账报税,注册商标代理,工商变更,企业400电话等企业一站式服务-慧用心 | 物流公司电话|附近物流公司电话上门取货 | 耐酸碱泵-自吸耐酸碱泵型号「品牌厂家」立式耐酸碱泵价格-昆山国宝过滤机有限公司首页 | 抓斗式清污机|螺杆式|卷扬式启闭机|底轴驱动钢坝|污水处理闸门-方源水利机械 | 产业规划_产业园区规划-产业投资选址及规划招商托管一体化服务商-中机院产业园区规划网 | 知网论文检测系统入口_论文查重免费查重_中国知网论文查询_学术不端检测系统 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 压力喷雾干燥机,喷雾干燥设备,柱塞隔膜泵-无锡市闻华干燥设备有限公司 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 山东艾德实业有限公司 | 合肥触摸一体机_触摸查询机厂家_合肥拼接屏-安徽迅博智能科技 | 农业四情_农业气象站_田间小型气象站_智慧农业气象站-山东风途物联网 | 浙江寺庙设计-杭州寺院设计-宁波寺庙规划_汉匠 | CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 |