js实现guid
生成 GUID/UUID 的方法
在 JavaScript 中,可以使用以下方法生成 GUID(全局唯一标识符)或 UUID(通用唯一标识符):
使用 crypto.randomUUID()
现代浏览器支持 crypto.randomUUID() 方法,可以生成符合 RFC 4122 标准的 UUID v4:

const uuid = crypto.randomUUID();
console.log(uuid); // 输出类似 "1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p"
使用第三方库
如果项目允许使用第三方库,uuid 是一个流行的选择:

import { v4 as uuidv4 } from 'uuid';
const uuid = uuidv4();
console.log(uuid);
自定义实现
如果需要纯 JavaScript 实现,可以使用以下函数:
function generateGuid() {
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);
});
}
console.log(generateGuid());
性能优化版本
对于需要更高性能的场景,可以使用以下优化版本:
function generateGuidFast() {
return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
);
}
console.log(generateGuidFast());
注意事项
crypto.randomUUID()是首选方法,但需要现代浏览器支持- 自定义实现可能不完全符合 RFC 4122 标准
- 在 Node.js 环境中可以使用
require('crypto').randomUUID()






