JavaScript如何生成唯一标识符(类似uuid)

1. JavaScript唯一ID生成器Nano ID

NanoID: 一个极小的,安全的ID生成器
Source:https://github.com/ai/nanoid

  • 安装nanoid
npm i nanoid
  • 引入使用(随机生成唯一id)
	const nanoid = require('nanoid')

	console.log(nanoid());  // Hz8ODbd-zGlWCURoLbREe
	
	console.log(nanoid(8)) // r1Qxk61m

  • 自定义字母或长度
	const generate = require('nanoid/generate');
	
	model.id = generate('1234567890abcdef', 10); //=> a082c43d4e
	
	// 如果要使用相同的URL友好符号,只需更改长度,
	const url = require('nanoid/url');
	
	model.id = generate(url, 10); //=> WK5Rp2Nqkd
  • 您可以使用format模块替换默认的安全随机生成器。
	const format = require('nanoid/format')
	 
	function random (size) {
	  const result = []
	  for (let i = 0; i < size; i++) {
	    result.push(randomByte())
	  }
	  return result
	}
	 
	format(random, "abcdef", 10) //=> "fbaefaadeb"
  • 可以使用非常快速的非安全生成器。
	const nonSecure = require('nanoid/non-secure')
	
	const id = nonSecure() //=> "Uakgb_J5m9g-0JDMbcJqLJ"
  • 异步API用于随机数生成器
	const nanoid = require('nanoid/async')
	 
	async function createUser () {
	  user.id = await nanoid()
	}
	const format = require('nanoid/async/format')
	const url = require('nanoid/url')
	 
	function random (size) {
	  return new Promise(…)
	}
	 
	async function createUser () {
	  user.id = await format(random, url, 10)
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值