js如何生成唯一識別符號UUID

重灌大師1024發表於2018-07-17

百度百科中對uuid的解釋
UUID 是 通用唯一識別碼(Universally Unique Identifier)的縮寫,是一種軟體建構的標準,亦為開放軟體基金會組織在分散式計算環境領域的一部分。其目的,是讓分散式系統中的所有元素,都能有唯一的辨識資訊,而不需要通過中央控制端來做辨識資訊的指定。如此一來,每個人都可以建立不與其它人衝突的UUID。在這樣的情況下,就不需考慮資料庫建立時的名稱重複問題。目前最廣泛應用的UUID,是微軟公司的全域性唯一識別符號(GUID),而其他重要的應用,則有Linux ext2/ext3檔案系統、LUKS加密分割槽、GNOME、KDE、Mac OS X等等。另外我們也可以在e2fsprogs包中的UUID庫找到實現。
UUID是由一組32個16進位制數字所構成,因此UUID理論上的總數為:3.4*10^38,也就是說若每納秒產生1兆個uuid,需要花100億年才能用完所有的uuid,所以它是唯一的,不必擔心重複。
在JavaScript中生成uuid的程式碼如下,這個函式會直接給你返回uuid,所以直接呼叫,然後用變數接收即可!

function generateUUID() {
    var d = new Date().getTime();
    if (window.performance && typeof window.performance.now === "function") {
        d += performance.now(); //use high-precision timer if available
    }
    var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
        var r = (d + Math.random() * 16) % 16 | 0;
        d = Math.floor(d / 16);
        return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
    });
    return uuid;
}

相關文章