广告
返回顶部
首页 > 资讯 > 前端开发 > 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://www.lsjlt.com/news/212037.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 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+
    2022-11-12
  • Redis生成全局唯一ID的实现方法
    目录简介:特性:生成规则: ID生成类:测试类:简介: 全局唯一ID生成器是一种在分布式系统下用来生成全局唯一ID的工具 特性: 唯一性高性能安全性高可用递增性 生成规则:...
    99+
    2022-11-13
  • 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+
    2022-11-13
  • springboot集成redis并生成全局唯一索引ID的方法
    本篇内容主要讲解“springboot集成redis并生成全局唯一索引ID的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot集成redis并生成全局唯一索引ID的方法”吧!...
    99+
    2023-06-29
  • mysql主键id的生成方式(自增、唯一不规则)
    目录1、利用uuid函数生成唯一且不规则的主键id2、id实现自动增长1、利用uuid函数生成唯一且不规则的主键id sql: CREATE TABLE `test` ( `...
    99+
    2022-11-12
  • vue点击项目唯一id生成器nanoid的使用方式
    目录点击项目唯一id生成器nanoid使用nanoid的安装nanoid的使用前端常用库——nanoid1.在项目目录下打开终端,下载安装nanoid库2.引...
    99+
    2022-11-13
  • Go实现分布式唯一ID的生成之雪花算法
    目录背景:特性:雪花算法:分布式唯一ID的生成 背景: 在分布式架构下,唯一序列号生成是我们在设计一个尤其是数据库使用分库分表的时候会常见的一个问题 特性: 全局唯一,这是基本要求,...
    99+
    2022-11-13
  • Shell动态生成数组的多种方法
    如果对linux shell 数组不是很熟悉的话,请看上一篇文章:linux shell 数组建立及使用技巧 ,这篇文章主要讲是动态生成数组系列。方法应该很多,我这里主要以一个求和计算的题目为例进行分析。...
    99+
    2022-06-04
    数组 多种 方法
  • php生成唯一uid的解决方法详解
    目录一、生成唯一uuid二、生成唯一uid三、生成唯一uid的正确方法补充一、生成唯一uuid 看到某些人会用uuid去代替用户的uid 从代码中可以看出,通过unique生成一个以毫秒级时间戳为前缀的字符后md5加密 再通过分隔符进行分割...
    99+
    2017-04-17
    php生成uid php生成唯一uid
  • java生成随机数的三种方法
    随机数有三种生成方式:通过Math.random()方法通过System.currentTimeMillis()方法获取毫秒数通过Random类第一种:常用方法Math.random()方法,是获取0-1之间的double类型的小数,在通过...
    99+
    2014-08-11
    java入门 java 随机数
  • MySQL高并发生成唯一订单号的方法实现
    前言 这篇博文发布后,有朋友问有没有SQL server版本的,现在有了==》传送门 一、场景再现 在一个erp进销存系统或0A等其他系统中,如果多人同时进行生成订单号的操作的话,容易出现多人获得同一个订单号的情况,...
    99+
    2022-05-18
    MySQL高并发生成唯一订单号 MySQL 生成唯一订单号
  • MySQL高并发生成唯一订单号的方法是什么
    这篇文章主要介绍了MySQL高并发生成唯一订单号的方法是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。一、场景再现在一个erp进销存系统或0...
    99+
    2022-10-18
  • Java生成范围内随机整数的三种方法
    目录前言1. java.util.Random2.数学随机3. Java 8 Random.ints参考文献总结前言 在本文中,我们将向您展示三种生成范围内随机整数的方法。 java...
    99+
    2022-11-13
  • java动态生成word的方法是什么
    在Java中,可以使用Apache POI库来动态生成Word文档。Apache POI是一个用于处理Microsoft文档格式的J...
    99+
    2023-09-16
    java word
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作