/**
* 生成唯一标识符
* @param length 长度
*/
export function uuid(length = 8) {
const s: any[] = []
//十六进制数字
const hexDigits = '0123456789abcdef'
// 循环生成随机字符数组,0x10 是表示十六进制数16的写法
for (let i = 0; i < 36; i++) {
//Math.random() * 0x10生成一个介于0和16之间的浮点数。然后使用 Math.floor() 函数将这个浮点数取整,得到一个0-15之间的整数值
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)
}
s[14] = '4' // 将位数12-15设置为0010
// 将s[19]的位数6-7设置为01
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1)
s[8] = s[13] = s[18] = s[23] = '' // 将中间的连接字符置为空
const uuid = s.join('') // 将字符数组连接成字符串
return uuid.slice(0, length) // 返回指定长度的唯一标识符
}
js生成唯一标识符uuid
猜你喜欢
转载自blog.csdn.net/qq_28838891/article/details/131467402
今日推荐
周排行