js实现uuid
生成 UUID 的方法
在 JavaScript 中,可以通过多种方式生成 UUID(通用唯一标识符)。以下是几种常见的实现方法:
使用 crypto.randomUUID()
现代浏览器支持 crypto.randomUUID() 方法,可以快速生成符合 RFC 4122 标准的 UUID:

const uuid = crypto.randomUUID();
console.log(uuid); // 输出类似 "d4a5b6c7-8d9e-0f1a-2b3c-4d5e6f7a8b9c"
使用 uuid 库
安装 uuid 库可以简化 UUID 生成:
npm install 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 可能不完全符合标准,但适用于简单需求。






