js生成唯一的uuid


---恢復內容開始---

在做項目的時候出現這樣的一種情況,需要動態生成唯一的uuid,剛開始我的思路是這樣的,我可以根據時間來做,然后出現了下面的思路:

var uuid = "cms"+mydate.getDay()+ mydate.getHours()+ mydate.getMinutes()+mydate.getSeconds()+mydate.getMilliseconds();//根據時間來自動生成uuid,保證生成的id是唯一的

然后呢,我用for循環,發現生成的uuid是一致的,如下圖所示:

也就是說生成的id是一樣的,這樣明顯不符合我的要求,然后就搜索更好的生成uuid的方法,然后有了兩種

1,在我上面的方法的基礎上加上一個隨機數,這樣可以生成uuid,即,在原來的基礎上加上隨機數

var uuid = "cms"+mydate.getDay()+ mydate.getHours()+ mydate.getMinutes()+mydate.getSeconds()+mydate.getMilliseconds()+ Math.round(Math.random() * 10000);

生成的結果如下:沒有沖突

 

但是呢,最好的方法是自己生成uuid,可以用下面的額方法

方法2,

    //用於生成uuid
    function S4() {
        return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
    }
    function guid() {
        return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
    }

具體的調用方法:

var uuid = "cms"+guid();

調用的結果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM