当前位置:首页 > PHP

php uniqid js 实现

2026-03-13 11:04:15PHP

PHP uniqid 的 JavaScript 实现

PHP 的 uniqid 函数生成基于当前时间微秒级的唯一 ID,默认情况下返回 13 位字符串。以下是 JavaScript 中的等效实现方法:

php uniqid js 实现

方法一:基于时间戳与随机数

function uniqid(prefix = "", moreEntropy = false) {
  const timestamp = Date.now().toString(16);
  const random = Math.floor(Math.random() * 0x10000).toString(16);
  let id = prefix + timestamp + random;

  if (moreEntropy) {
    const extra = Math.floor(Math.random() * 0x1000000).toString(16);
    id += "." + extra;
  }
  return id;
}

方法二:精确微秒级实现(Node.js 环境)

在 Node.js 中可使用 process.hrtime() 获取更高精度时间:

php uniqid js 实现

function uniqid(prefix = "", moreEntropy = false) {
  const [sec, nanosec] = process.hrtime();
  const timestamp = (sec * 1000 + Math.floor(nanosec / 1000000)).toString(16);
  const random = Math.floor(Math.random() * 0x10000).toString(16);
  let id = prefix + timestamp + random;

  if (moreEntropy) {
    const extra = Math.floor(Math.random() * 0x1000000).toString(16);
    id += "." + extra;
  }
  return id;
}

浏览器环境注意事项

浏览器端无法获取真正的微秒级精度,但可通过 performance.now() 提高精度:

function uniqid(prefix = "", moreEntropy = false) {
  const time = performance.now().toString(16).replace(".", "");
  const random = Math.floor(Math.random() * 0x10000).toString(16);
  let id = prefix + time + random;

  if (moreEntropy) {
    const extra = Math.floor(Math.random() * 0x1000000).toString(16);
    id += "." + extra;
  }
  return id;
}

输出示例

console.log(uniqid());          // 类似 "6065f3a7b1a4"
console.log(uniqid("pre_"));    // 类似 "pre_6065f3a7b1b2"
console.log(uniqid("", true));  // 类似 "6065f3a7b1c3.12d4e5"

标签: phpuniqid
分享给朋友:

相关文章

php实现树

php实现树

PHP实现树结构的方法 在PHP中实现树结构通常可以通过递归或迭代的方式完成。以下是几种常见的实现方法: 递归实现树结构 递归是处理树结构的自然方式,尤其适用于具有未知深度的树。 class Tr…

php实现递归

php实现递归

递归的基本概念 递归是一种函数调用自身的技术,适用于解决可以分解为相同子问题的问题。在PHP中,递归需要明确的终止条件(基线条件),否则会导致无限循环。 递归实现阶乘 阶乘是经典的递归案例,n! =…

php实现栈

php实现栈

栈的基本概念 栈(Stack)是一种遵循后进先出(LIFO)原则的数据结构。核心操作包括: push:元素入栈。 pop:元素出栈(返回并移除栈顶元素)。 peek:查看栈顶元素(不移除…

基于php的设计与实现

基于php的设计与实现

PHP 设计与实现的关键要素 环境搭建与框架选择 PHP开发需配置服务器环境(如Apache/Nginx)、PHP版本(建议7.4+)及数据库(MySQL/MariaDB)。主流框架包括Laravel…

php实现静态

php实现静态

静态化实现方法 PHP实现静态化主要通过生成HTML文件或缓存机制来减少服务器动态解析的开销。以下是几种常见方法: 生成静态HTML文件 通过file_put_contents()将动态内容保存为H…

php搜索功能实现的

php搜索功能实现的

PHP 搜索功能实现方法 数据库搜索实现 使用 SQL 的 LIKE 语句进行模糊匹配,适用于小型网站和简单搜索需求。 $searchTerm = $_GET['search']; $query =…