当前位置:首页 > JavaScript

js 实现uuid

2026-02-01 03:28:47JavaScript

UUID 的实现方法

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

使用 crypto.randomUUID()

现代浏览器支持 crypto.randomUUID() 方法,这是最简单且符合标准的方式:

js 实现uuid

const uuid = crypto.randomUUID();
console.log(uuid); // 输出类似 "1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p"

使用 crypto.getRandomValues()

如果环境不支持 randomUUID(),可以通过 crypto.getRandomValues() 生成随机字节并转换为 UUID 格式:

js 实现uuid

function generateUUID() {
  return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
    (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
  );
}
console.log(generateUUID());

使用第三方库

许多第三方库如 uuid 提供了跨平台的 UUID 生成功能:

import { v4 as uuidv4 } from 'uuid';
const uuid = uuidv4();
console.log(uuid);

时间戳与随机数结合

在不支持 crypto 的环境下,可以通过时间戳和随机数模拟 UUID:

function simpleUUID() {
  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(simpleUUID());

注意事项

  • 使用 crypto.randomUUID() 是最推荐的方式,因为它符合 RFC 4122 标准且安全性高。
  • 如果需要支持旧版浏览器或 Node.js 环境,第三方库(如 uuid)是更好的选择。
  • 自行实现的随机数方法可能无法保证唯一性和安全性,仅适用于非关键场景。

标签: jsuuid
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterva…

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现变形

js实现变形

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

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js 实现全选

js 实现全选

实现全选功能的方法 使用 JavaScript 实现全选功能通常需要操作复选框(checkbox)的状态。以下是几种常见的实现方式。 通过 DOM 操作实现全选 // 获取全选复选框和子复选框 co…