当前位置:首页 > JavaScript

js实现uuid

2026-04-06 06:00:08JavaScript

UUID 的 JavaScript 实现方法

UUID(Universally Unique Identifier)是一种用于生成唯一标识符的标准。以下是几种在 JavaScript 中实现 UUID 的方法。

使用 crypto.randomUUID()

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

js实现uuid

const uuid = crypto.randomUUID();
console.log(uuid); // 输出类似 "d1a2b3c4-5678-90ef-1234-567890abcdef"

使用 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()); // 输出类似 "a1b2c3d4-e5f6-7890-1234-567890abcdef"

使用第三方库

如果项目允许引入第三方库,可以使用 uuid 库来生成 UUID。

import { v4 as uuidv4 } from 'uuid';
const uuid = uuidv4();
console.log(uuid); // 输出符合 RFC 4122 的 UUID v4

简单随机字符串实现

如果需要快速生成类似 UUID 的字符串,但不严格要求符合 RFC 4122 标准,可以使用以下方法:

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()); // 输出类似 "a1b2c3d4-e5f6-7890-1234-567890abcdef"

注意事项

  • crypto.randomUUID() 是推荐方法,但仅支持较新的浏览器和 Node.js 环境。
  • 如果需要兼容旧环境,可以使用 crypto.getRandomValues() 或第三方库。
  • 避免使用 Math.random() 生成 UUID,因为它可能不够随机且不符合标准。

标签: jsuuid
分享给朋友:

相关文章

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…

js实现菜单

js实现菜单

实现基本HTML结构 使用HTML创建菜单的基本框架,通常包含<ul>和<li>元素。示例结构如下: <ul id="menu"> <li><…

js 实现全选

js 实现全选

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

js实现弹框

js实现弹框

使用 alert 实现简单弹框 JavaScript 的 alert 方法可以直接显示一个简单的弹框,内容为纯文本: alert("这是一个简单的弹框"); 使用 confirm 实现确认弹框…