当前位置:首页 > JavaScript

js实现uuid

2026-03-14 12:02:22JavaScript

生成 UUID 的方法

在 JavaScript 中,可以通过多种方式生成 UUID(通用唯一标识符)。以下是几种常见的实现方法:

使用 crypto.randomUUID()

现代浏览器支持 crypto.randomUUID() 方法,可以快速生成符合 RFC 4122 标准的 UUID:

js实现uuid

const uuid = crypto.randomUUID();
console.log(uuid); // 输出类似 "d4a5b6c7-8d9e-0f1a-2b3c-4d5e6f7a8b9c"

使用 uuid

安装 uuid 库可以简化 UUID 生成:

npm install uuid

在代码中使用:

js实现uuid

const { v4: uuidv4 } = require('uuid');
const uuid = uuidv4();
console.log(uuid); // 输出类似 "1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed"

手动实现 UUID v4

如果需要手动生成 UUID v4,可以使用以下代码:

function generateUUID() {
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
        const r = Math.random() * 16 | 0;
        const v = c === 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    });
}

const uuid = generateUUID();
console.log(uuid); // 输出类似 "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"

使用 URL.createObjectURL

这种方法生成的 UUID 不完全符合 RFC 4122 标准,但可以快速生成唯一标识符:

const uuid = URL.createObjectURL(new Blob()).split('/').pop();
console.log(uuid); // 输出类似 "blob:http://example.com/123e4567-e89b-12d3-a456-426614174000"

注意事项

  • crypto.randomUUID() 仅在支持的环境中可用(如现代浏览器或 Node.js 16+)。
  • uuid 库提供了多种 UUID 版本(如 v1、v4),适合复杂场景。
  • 手动实现的 UUID v4 可能不完全符合标准,但适用于简单需求。

标签: jsuuid
分享给朋友:

相关文章

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似: func…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…