項目中經常使用UUID做爲惟一標識碼git
UUID是128位整數(16字節)的全局惟一標識符github
由如下幾部分的組合:npm
當前日期和時間(UUID的第一個部分與時間有關,若是你在生成一個UUID以後,過幾秒又生成一個UUID,則第一個部分不一樣,其他相同),ui
時鐘序列,spa
全局惟一的IEEE機器識別號(若是有網卡,從網卡得到,沒有網卡以其餘方式得到),code
UUID的惟一缺陷在於生成的結果串會比較長。blog
UUID是一個由4個連字號(-)將32個字節長的字符串分隔後生成的字符串,總共36個字節長。好比:550e8400-e29b-41d4-a716-446655440000字符串
格式爲:xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每一個 x 是 0-9 或 a-f 範圍內的一個十六進制的數字。而標準的UUID格式爲:xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12)get
一、具體uuid的API地址:https://github.com/pnegri/uuid-jsstring
小例子代碼以下:
npm install uuid
var uuid=require('uuid'); var id = uuid.v1().replace(/-/g, ""); console.log(id);
二、uuid-js的API以下:
UUID.create(4); // Generate V4 UUID UUID.create(1); // Generate V1 TimeUUID UUID.fromTime(time, last); // Generate a V1 empty TimeUUID from a Date object (Ex: new Date().getTime() ) UUID.firstFromTime(time); // Same as fromTime but first sequence UUID.lastFromTime(time); // Same as fromTime but last sequence UUID.fromURN(strId); // Generate a UUID object from string UUID.fromBytes(ints); // Generate a UUID object from bytes UUID.fromBinary(binary); // Generate a UUID object from binary
本例子參照uuidjsAPI以及參考網上資料,若有不足之處,請原諒。