当前位置:首页 > 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 实现vue

js 实现vue

实现 Vue 的核心功能 在 JavaScript 中实现 Vue 的核心功能需要模拟数据绑定、虚拟 DOM 和响应式系统。以下是一个简化版的实现思路: 响应式系统 通过 Object.define…

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…

js实现轮播代码

js实现轮播代码

基础轮播实现 使用HTML、CSS和JavaScript创建一个简单的轮播效果。HTML部分定义轮播容器和图片元素。 <div class="carousel"> <div c…

js实现排序

js实现排序

数组排序方法 JavaScript提供了内置的sort()方法用于数组排序。默认情况下,sort()将元素转换为字符串并按照Unicode码点排序。对于数字排序,需传入比较函数。 const num…