nodejs项目中使用uuid生成唯一标识-案例

本文介绍了如何在Node.js中使用npm或yarn安装并利用uuid库生成UUID,包括v1基于时间戳和v4随机生成的方法,以及如何处理和验证UUID字符串。还提及了API中其他相关函数如解析、字符串化等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UUID

要创建随机UUID,可以使用npm或者yarn安装uuid

1.使用npm或者yarn安装uuid

npm install uuid --save
or
yarn add uuid

2.创建一个UUID(ES6模块语法)

import { v4 as uuidv4 } from 'uuid';
uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'

或使用CommonJS语法:

const { v4: uuidv4 } = require('uuid');
uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'

对于时间戳UUID,名称空间UUID和其他选项

使用起来很简单,两种:
1、uuid.v1(); -->基于时间戳生成  (time-based)
2、uuid.v4(); -->随机生成  (random)


通常我们使用基于时间戳  v1()  生成的UID,随机生成  v4()  还是有一定几率重复的。

    var UUID = require('uuid');
    var ID = UUID.v1();

API摘要

方法功能备注
uuid.NILThe nil UUID string (all zeros) New in uuid@8.3
uuid.parse()Convert UUID string to array of bytesNew in uuid@8.3
uuid.stringify()Convert array of bytes to UUID stringNew in uuid@8.3
uuid.v1()Create a version 1 (timestamp) UUID
uuid.v3()Create a version 3 (namespace w/ MD5) UUID
uuid.v4()Create a version 4 (random) UUID
uuid.v5()Create a version 5 (namespace w/ SHA-1) UUID
uuid.validate()Test a string to see if it is a valid UUIDNew in uuid@8.3
uuid.version()Detect RFC version of a UUIDNew in uuid@8.3

API

  • uuid.NIL
    nil UUID字符串(全零)
    示例:
import { NIL as NIL_UUID } from 'uuid';
 
NIL_UUID; // ⇨ '00000000-0000-0000-0000-000000000000'
  • uuid.parse(str)
    将UUID字符串转换为字节数组
字段说明
strA valid UUID String
returnsUint8Array[16]
throwsTypeError if str is not a valid UUID

注意:parse()和stringify()使用的字节数组中的值的顺序遵循UUID字符串中十六进制对的从左往右的顺序。 如下例所示。

示例:

import { parse as uuidParse } from 'uuid';
 
// Parse a UUID
const bytes = uuidParse('6ec0bd7f-11c0-43da-975e-2a8ad9ebae0b');
 
// Convert to hex strings to show byte order (for documentation purposes)
[...bytes].map((v) => v.toString(16).padStart(2, '0')); // ⇨ 
  // [
  //   '6e', 'c0', 'bd', '7f',
  //   '11', 'c0', '43', 'da',
  //   '97', '5e', '2a', '8a',
  //   'd9', 'eb', 'ae', '0b'
  // ]

其他更多关于uuid库的方法的使用,具体参考npm官网:https://www.npmjs.com/package/uuid

生成uuid字符串后将其中的-去掉

当使用nodejs中的uuid库生成了1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed这种格式的uuid字符串后,有时候我们需要把中间的-字符去掉,这时候可以使用stringreplace方法:

const { v4: uuidv4 } = require('uuid');
let strUUID = uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'
let strUUID2 = strUUID.replace(/-/g, '');       // 去掉-字符,使用空格代替
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JackieDYH

谢谢您嘞!我会继续加油地

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值