av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

兩行Javascript代碼生成UUID的方法

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

GUID全稱為全局唯一標(biāo)識符,也稱作 UUID,GUID是一種由算法生成的二進(jìn)制長度為128位的數(shù)字標(biāo)識符。GUID 的格式為“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中的 x 是 0-9 或 a-f 范圍內(nèi)的一個32位十六進(jìn)制數(shù)。GUID 的總數(shù)達(dá)到了2^128(3.4×10^38)個,所以隨機(jī)生成兩個相同GUID的可能性非常小,但并不為0。

發(fā)現(xiàn)一個簡單的方法,可以在不依賴第三方庫的情況下,在 Javascript 應(yīng)用程序中生成 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 方法創(chuàng)建一個惟一的 URL,以表示傳遞給它的對象。為了讓這個 URL 是唯一的, URL.createObjectURL 方法返回的 URL 會帶上一段 36 位長的字符串,和 UUID 的長度一致,通過這個原理,就可以模擬 UUID 了。

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

for (var i = 0; i < 10; ++i) { console.log(uuid());}// 執(zhí)行結(jié)果如下// 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 的目的不是生成隨機(jī) UUID。 因此,上述生成 UUID 的方法可能會導(dǎo)致我尚未意識到的副作用。 其他方法

一、生成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

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

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 欧美日本一区二区三区 | 中文字幕在线观看不卡 | 夜夜嗨av一区二区三区 | av不卡一区 | 久久大| 久久久精品在线 | 国产乱淫av | 色综合天天综合网天天狠天天 | 美女福利视频 | 五月天婷婷网站 | 在线天堂视频 | 日本免费在线观看视频 | 国产成人精品一区二区三区在线观看 | 午夜高清 | 免费看片网站91 | 精品一区二区三区四区 | 日韩欧美在线一区 | 亚洲高清视频在线 | 一区二区三区精品 | 精品伊人久久 | 日韩午夜精品 | 日日操天天操 | 熟女毛片| 日韩黄色在线视频 | 韩日一级片 | 欧美 日韩 国产 成人 在线 | 一级黄色免费视频 | 成人国产精品视频 | 国产资源在线播放 | 五月激情久久 | 91视频日本 | 欧美中文字幕 | 最新国产精品视频 | 一级特黄毛片 | 欧美日韩中文字幕在线 | 亚洲天堂视频在线 | 国产91免费视频 | 亚洲精品社区 | 精品国产91 | 国产黄在线| 国产精品久久一区 |