返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js动态生成唯一id的三种方法
  • 267
分享到

js动态生成唯一id的三种方法

js动态生成唯一idjs唯一id 2023-05-18 11:05:38 267人浏览 泡泡鱼
摘要

目录一. 引入时间戳,生成可控长度的随机数二. js 生成随机三、ID生成器NanoID下面是一些补充一. 引入时间戳,生成可控长度的随机数 随机数长度控制,定义一个长度变量(len

一. 引入时间戳,生成可控长度的随机数

随机数长度控制,定义一个长度变量(length),生成可控长度的随机数:

Math.random().toString(36).substr(3,length)

引入时间戳:

Date.now().toString(36)

合在一起最终办法:

genID(length){
   return Number(Math.random().toString().substr(3,length) + Date.now()).toString(36);
}

或参考下面的

  <script>
        
        // 方法一传值转换,注意格式
        var date = Date.parse(new Date())
        console.log(date);  // 1656581121000
        // //Date.parse("2022/6/30 10:05") 或者 Date.parse("2022-6-30 10:05")
        var date = Date.parse("2022-6-30 10:05:50")
        //方法二通过原型方法直接获得当前时间的毫秒值
        var date = new Date().getTime()
        //方法三Date.now()可以获得当前的时间戳
        var date = Date.now()
        //方法四valueOf()函数返回时间戳值
        var data = (new Date()).valueOf()
        //方法五将获取时间方法对象转化为一个number类型的数值
        var data = Number(new Date())
    </script>

二. JS 生成随机

如:07854BB7-6572-496E-918B-81115BCF396E

  getUuid () {
    var s = [];
    var hexDigits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    for (var i = 0; i < 36; i++) {
      s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)
    }
    s[14] = "4"
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1)
    s[8] = s[13] = s[18] = s[23] = "-"
    let uuid = s.join("")
    return uuid
  }

三、ID生成器NanoID

2.1-安装

npm i nanoid

2.2-使用

import {nanoid} from 'nanoid';
let  idA = nanoid() //=> "V1SyGzR8_Z5jdHd8B-myT"
// 也可以指定生成字符串的长度
let  idB = nanoid(10)
 

下面是一些补充

javascript 中,可以通过使用 Date 对象的 getTime 方法来生成一个毫秒级别的唯一 ID。具体示例如下:

let uniqueId = new Date().getTime();
console.log(uniqueId); // 输出的结果类似于 1633067982824

如果需要生成更长的 ID,可以将该 ID 转换为字符串,并在后面添上一个随机数。示例如下:

let uniqueId = String(new Date().getTime()) + String(Math.floor(Math.random() * 1000));
console.log(uniqueId); // 输出的结果类似于 1633067982824432

上述代码将自动生成一个长度为 16 位的唯一 ID,其中前 13 位是时间戳,后 3 位是随机数。

到此这篇关于js动态生成唯一id的两种方法的文章就介绍到这了,更多相关js动态生成唯一id内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: js动态生成唯一id的三种方法

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

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

猜你喜欢
  • js动态生成唯一id的三种方法
    目录一. 引入时间戳,生成可控长度的随机数二. JS 生成随机三、ID生成器NanoID下面是一些补充一. 引入时间戳,生成可控长度的随机数 随机数长度控制,定义一个长度变量(len...
    99+
    2023-05-18
    js动态生成唯一id js唯一id
  • python 生成唯一id的四种方式
    目录1.使用UUID2.mongodb的ObjectId3.雪花算法 Snowflake4.时间戳id4.1、获取秒级时间戳与毫秒级时间戳、微秒级时间戳4.2 获取当前日期时间4.3...
    99+
    2023-02-28
    python 生成唯一id python 唯一id
  • JS生成唯一id方式之UUID和NanoID
    目录一、为什么 NanoID 正在取代 UUID二、js如何生成三、NanoID的方式前言: 唯一id有了更好的方式,那就是NanoID,今天这篇文章记录一下NanoID 正在取代...
    99+
    2024-04-02
  • Redis生成全局唯一ID的实现方法
    目录简介:特性:生成规则: ID生成类:测试类:简介: 全局唯一ID生成器是一种在分布式系统下用来生成全局唯一ID的工具 特性: 唯一性高性能安全性高可用递增性 生成规则:...
    99+
    2024-04-02
  • Java几种分布式全局唯一ID生成方案
    目录缘起常见方案UUID数据库自增键TDDL SequenceLeaf-segment类雪花算法时间回拨问题Leaf-snowflakeSeata UUID总结缘起 在分布式微服务系...
    99+
    2023-01-30
    Java分布式全局唯一ID生成 Java分布式全局唯一ID
  • Python用UUID库生成唯一ID的方法示例
    UUID介绍 UUID是128位的全局唯一标识符,通常由32字节的字符串表示。它可以保证时间和空间的唯一性,也称为GUID,全称为:UUID —— Universally Unique IDentifie...
    99+
    2022-06-04
    示例 方法 Python
  • JS生成唯一id方式之UUID和NanoID的示例分析
    这篇文章给大家分享的是有关JS生成唯一id方式之UUID和NanoID的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、为什么 NanoID 正在取代 UUID.更安全 在大多数随机生成器中,它们使用不...
    99+
    2023-06-22
  • python生成唯一id的方式有哪些
    本篇内容主要讲解“python生成唯一id的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python生成唯一id的方式有哪些”吧!1.使用UUIDUUID应该是大家耳熟能详的一个东西...
    99+
    2023-07-05
  • 浅谈Java生成唯一标识码的三种方式
    目录前言正文UUID实现唯一标识码SnowFlake实现唯一标识码通过时间工具生成带有业务标示的唯一标识码前言 我们经常会遇到这样的场景,需要生成一个唯一的序列号来表明某一个数据的唯...
    99+
    2024-04-02
  • Redis唯一ID生成器的实现
    ID的组成部分: 符号位:1bit,永远为0时间戳:31bit,以秒为单位,可以使用69年序列号:32bit,秒内的计数器,支持每秒产生2^32个不同ID 生成代码: public class RedisIdWorker...
    99+
    2022-07-05
    Redis唯一ID生成器 Redis生成唯一ID
  • MySQL怎么生成唯一的server-id
    这篇文章给大家分享的是有关MySQL怎么生成唯一的server-id的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言我们都知道MySQL用server-id来一的标识某个数据库...
    99+
    2024-04-02
  • springboot集成redis并生成全局唯一索引ID的方法
    本篇内容主要讲解“springboot集成redis并生成全局唯一索引ID的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot集成redis并生成全局唯一索引ID的方法”吧!...
    99+
    2023-06-29
  • PHP利用雪花(SnowFlake)算法生成唯一ID
    目录一、雪花算法原理解析1. 分布式ID常见生成策略2. 雪花算法的结构二、PHP源码实现案例1.demo12.demo2这个算法的好处很简单可以在每秒产生约400W个不同的16位数...
    99+
    2024-04-02
  • PHP怎么利用雪花算法生成唯一ID
    这篇文章主要讲解了“PHP怎么利用雪花算法生成唯一ID”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP怎么利用雪花算法生成唯一ID”吧!一、雪花算法原理解析1. 分布式ID常见生成策略分...
    99+
    2023-06-30
  • java如何使用预分配法生成唯一ID
    小编给大家分享一下java如何使用预分配法生成唯一ID,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在项目中经常有生成唯一ID的业务需求。作为唯一标识方便后续查找...
    99+
    2023-06-05
  • Shell动态生成数组的多种方法
    如果对linux shell 数组不是很熟悉的话,请看上一篇文章:linux shell 数组建立及使用技巧 ,这篇文章主要讲是动态生成数组系列。方法应该很多,我这里主要以一个求和计算的题目为例进行分析。...
    99+
    2022-06-04
    数组 多种 方法
  • mysql主键id的生成方式(自增、唯一不规则)
    目录1、利用uuid函数生成唯一且不规则的主键id2、id实现自动增长1、利用uuid函数生成唯一且不规则的主键id sql: CREATE TABLE `test` ( `...
    99+
    2024-04-02
  • vue点击项目唯一id生成器nanoid的使用方式
    目录点击项目唯一id生成器nanoid使用nanoid的安装nanoid的使用前端常用库——nanoid1.在项目目录下打开终端,下载安装nanoid库2.引...
    99+
    2024-04-02
  • Go实现分布式唯一ID的生成之雪花算法
    目录背景:特性:雪花算法:分布式唯一ID的生成 背景: 在分布式架构下,唯一序列号生成是我们在设计一个尤其是数据库使用分库分表的时候会常见的一个问题 特性: 全局唯一,这是基本要求,...
    99+
    2024-04-02
  • JAVA生成唯一订单编号方案(两种方式)
    方法一:使用UUID public static String getUUID() { String replaceUUID = UUID.randomUUID().toString().replace("-", ""); ...
    99+
    2023-09-12
    java 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作