📜  uuid 生成器 js - Javascript (1)

📅  最后修改于: 2023-12-03 15:20:55.882000             🧑  作者: Mango

UUID生成器 JS - Javascript

UUID(通用唯一标识符)是一种用于识别信息的标准格式,通常表示为32个十六进制数字,它可以在各个系统中独立生成。Javascript能够方便地生成UUID,本文将介绍关于UUID生成的JS代码。

使用uuid库

我们可以使用 uuid库 来方便地生成UUID。

安装uuid库

运行以下命令来安装uuid库:

npm install uuid
生成UUID

使用以下代码可以在Javascript中生成UUID:

const uuidv4 = require('uuid/v4');

const uuid = uuidv4();

其中,uuidv4()函数能够生成一个新的版本4的UUID。

生成特定名称空间的UUID

如果需要生成特定名称空间(namespace)的UUID,则可以使用以下代码:

const uuidv5 = require('uuid/v5');

const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';
const uuid = uuidv5('hello world', MY_NAMESPACE);

其中,MY_NAMESPACE通常定义为UUID格式的字符串,uuidv5()函数可以通过指定名称空间和名称来生成UUID。

原生Javascript实现

如下代码展示了如何使用纯 Javascript 来实现UUID的生成功能:

function generateUUID() { // Public Domain/MIT
    var d = new Date().getTime(); //Timestamp
    var d2 = (performance && performance.now && (performance.now()*1000)) || 0; //Time in microseconds since page-load or 0 if unsupported
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
        var r = Math.random() * 16; //random number between 0 and 16
        if(d > 0){ //Use timestamp until depleted
            r = (d + r)%16 | 0;
            d = Math.floor(d/16);
        } else { //fallback to performance.now() if  depleted
            r = (d2 + r)%16 | 0;
            d2 = Math.floor(d2/16);
        }
        return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
    });
}

可以通过调用generateUUID()函数来在Javascript中生成UUID。

结论

本文介绍了如何使用uuid库和如何通过原生的Javascript来实现UUID的生成。希望这篇文章对你有所帮助。