返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript生成UUID的五种方法详解
  • 612
分享到

JavaScript生成UUID的五种方法详解

2024-04-02 19:04:59 612人浏览 泡泡鱼
摘要

目录简介1.第一种2.第二种3.第三种4.第四种5.第五种简介 UUID(Universally Unique IDentifier) 全局唯一标识符。 UUID是一种由算法生成的二

简介

UUID(Universally Unique IDentifier) 全局唯一标识符。

UUID是一种由算法生成的二进制长度为128位的数字标识符。UUID的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中的 x 是 0-9 或 a-f
范围内的一个32位十六进制数。在理想情况下,任何计算机和计算机集群都不会生成两个相同的UUID。

1.第一种

function guid() {
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
        var r = Math.random() * 16 | 0,
            v = c == 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    });
}
guid() // "a1ca0f7b-51bd-4bf3-a5d5-6a74f6adc1c7"

2.第二种

function uuid() {
    var s = [];
    var hexDigits = "0123456789abcdef";
    for (var i = 0; i < 36; i++) {
        s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
    }
    s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
    s[8] = s[13] = s[18] = s[23] = "-";

    var uuid = s.join("");
    return uuid;
}
uuid() // "ffb7cefd-02cb-4853-8238-c0292cf988d5"

3.第三种

function guid2() {
    function S4() {
        return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
    }
    return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());
}
guid2() // "748eea29-f842-4af9-a552-e1e1aa3ed979"

4.第四种

// 指定长度和基数
function uuid2(len, radix) {
    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
    var uuid = [],
        i;
    radix = radix || chars.length;

    if (len) {
        // Compact fORM
        for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix];
    } else {
        // rfc4122, version 4 form
        var r;

        // rfc4122 requires these characters
        uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
        uuid[14] = '4';

        // Fill in random data.  At i==19 set the high bits of clock sequence as
        // per rfc4122, sec. 4.1.5
        for (i = 0; i < 36; i++) {
            if (!uuid[i]) {
                r = 0 | Math.random() * 16;
                uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
            }
        }
    }

    return uuid.join('');
}
uuid2(16, 16) // "277571702EE33E11"

5.第五种

说明:生成32位UUID方法

function uuid() {
    var s = [];
    var hexDigits = "0123456789abcdef";
    for (var i = 0; i < 32; i++) {
    s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
    }
    s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
    s[8] = s[13] = s[18] = s[23];
    var uuid = s.join("");
    return uuid;
}

到此这篇关于javascript生成UUID的五种方法详解的文章就介绍到这了,更多相关JavaScript生成UUID内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: JavaScript生成UUID的五种方法详解

本文链接: https://lsjlt.com/news/150379.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JavaScript生成UUID的五种方法详解
    目录简介1.第一种2.第二种3.第三种4.第四种5.第五种简介 UUID(Universally Unique IDentifier) 全局唯一标识符。 UUID是一种由算法生成的二...
    99+
    2024-04-02
  • JavaScript生成UUID的方法有哪些
    本篇内容介绍了“JavaScript生成UUID的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!简介UUID(Universall...
    99+
    2023-06-30
  • Oracle 生成uuid方法
    近日,遇到朋友问及如何生成UUID 是 通用唯一识别码(Universally Unique Identifier)方法,其实数据中是支持的 Oracle中生成跨系统的唯一识别符UUID非常方便,比生成序列还简单,直接用sys_guid()...
    99+
    2017-04-29
    Oracle 生成uuid方法 数据库入门 数据库基础教程 数据库 mysql
  • oracle自动生成uuid的实现方法
    目录oracle自动生成uuid方法1.创建一个表2.生成uuid的语句3.添加几条数据,查询就可以看到效果oracle获取UUID乱码oracle自动生成uuid方法 1.创建一个表 create table t_us...
    99+
    2024-04-02
  • sql中uuid生成的方法是什么
    在SQL中生成UUID(通用唯一标识符)的方法取决于所使用的数据库管理系统(DBMS)。以下是几种常见的DBMS中生成UUID的方法...
    99+
    2024-04-09
    sql
  • JavaScript中数组去重常用的五种方法详解
    目录1.对象属性(indexof)2.new Set(数组)3.new Map()4.filter() + indexof5.reduce() + includes补充原数组 con...
    99+
    2024-04-02
  • Java生成UUID的常用方式
    java.util.UUID类来生成UUID import java.util.UUID;public class UUIDGenerator { public static void ma...
    99+
    2023-09-03
    java apache log4j
  • JavaScript 数组遍历的五种方法
    目录一、for 循环:基础、简单二、forEach() 方法:使用回调函数三、map() 方法:使用回调函数四、for..in 循环:遍历对象和数组五、for…of 循环:遍历对象和...
    99+
    2024-04-02
  • Python用UUID库生成唯一ID的方法示例
    UUID介绍 UUID是128位的全局唯一标识符,通常由32字节的字符串表示。它可以保证时间和空间的唯一性,也称为GUID,全称为:UUID —— Universally Unique IDentifie...
    99+
    2022-06-04
    示例 方法 Python
  • tk.mybatis实现uuid主键生成的方法是什么
    这篇文章主要介绍“tk.mybatis实现uuid主键生成的方法是什么”,在日常操作中,相信很多人在tk.mybatis实现uuid主键生成的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”tk.my...
    99+
    2023-06-21
  • Java实现List去重的五种方法详解
    目录通过HashSet去重(不保证顺序)通过HashSet去重(保证顺序)遍历后判断赋给另一个list集合去重(保证顺序)通过TreeSet去重(保证顺序)Java8中Stream流...
    99+
    2022-11-13
    Java List去重方法 Java List去重 Java去重 List 去重
  • python生成式的send()方法(详解)
    随便在网上找了找,感觉都是讲半天讲不清楚,这里写一下。 def generator(): while True: receive=yield 1 print('extra'+str(...
    99+
    2022-06-04
    详解 方法 python
  • Python标准库uuid模块(生成唯一标识)详解
    目录UUID格式组成Python 中的uuid 模块uuid1() 中的getnode()UUID实际应用UUID 的劣势参考资料:总结UUID (Universally Uniqu...
    99+
    2024-04-02
  • Redis实现分布式锁的五种方法详解
    目录1. 单机数据一致性2. 分布式数据一致性3. Redis实现分布式锁3.1 方式一3.2 方式二(改进方式一)3.3 方式三(改进方式二)3.4 方式四(改进方式三)3.5 方式五(改进方式四)3.6 小结在单体应...
    99+
    2022-06-14
    Redis 分布式锁
  • Java求最小生成树的两种算法详解
    目录1 最小生成树的概述2 普里姆算法(Prim)2.1 原理2.2 案例分析3 克鲁斯卡尔算法(Kruskal)3.1 原理3.2 案例分析4 邻接矩阵加权图实现5 邻接表加权图实...
    99+
    2024-04-02
  • JavaScript数组去重的五种方法是什么
    本篇内容介绍了“JavaScript数组去重的五种方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • Android实现定时器的五种方法实例详解
    一、Timer Timer是Android直接启动定时器的类,TimerTask是一个子线程,方便处理一些比较复杂耗时的功能逻辑,经常与handler结合使用。 跟handle...
    99+
    2022-06-06
    方法 定时器 Android
  • php生成唯一uid的解决方法详解
    目录一、生成唯一uuid二、生成唯一uid三、生成唯一uid的正确方法补充一、生成唯一uuid 看到某些人会用uuid去代替用户的uid 从代码中可以看出,通过unique生成一个以毫秒级时间戳为前缀的字符后md5加密 再通过分隔符进行分割...
    99+
    2017-04-17
    php生成uid php生成唯一uid
  • javascript动态生成表格详解
    *创建一个页面:两个输入框和一个按钮 *代码和步骤 代码如下: <html > <head> <title>动态生成表格<...
    99+
    2024-04-02
  • Java实现多线程同步五种方法详解
    Java实现多线程同步的五种方法包括:1. synchronized关键字:使用synchronized关键字可以实现对共享资源的互...
    99+
    2023-08-14
    Java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作