在开发测试、抽奖活动、数据采样等场景中,我们经常需要生成随机数。浏览器自带的 Math.random() 并不适合对随机性要求较高的场景。jsjson.com 随机数生成器 是一款免费在线工具,使用浏览器原生的 Web Crypto API(密码学级随机数算法),支持随机整数、随机浮点数、列表抽签洗牌,满足各种随机数需求。
📋 随机数生成器介绍
随机数生成器是一种根据用户设定的范围和规则自动产生随机数值的工具。与 Math.random() 不同,jsjson.com 随机数生成器 底层调用 crypto.getRandomValues(),基于操作系统熵源生成密码学安全的随机数,随机性更强、更不可预测。
主要功能
- 随机整数生成 — 指定最小值和最大值,生成范围内的随机整数
- 随机浮点数生成 — 自定义小数精度(0-15 位),生成指定精度的随机小数
- 不重复随机数 — 勾选"不重复"选项,确保生成的每个数值都唯一
- 排序输出 — 生成后可选择升序排列,方便查看和对比
- 批量生成 — 一次最多生成 1000 个随机数,支持换行、逗号、空格等分隔符
- 列表抽签 — 从输入列表中随机抽取 1 个或多个项目
- 列表洗牌 — 将整个列表的顺序随机打乱(类似洗扑克牌)
典型使用场景
1. 开发测试数据生成
在开发和测试阶段,经常需要大量随机数据来验证程序的边界情况。例如生成 100 个 1-1000 范围内的随机整数作为用户 ID,或者生成随机浮点数作为价格数据。
2. 抽奖和抽签活动
公司年会抽奖、课堂随机点名、微信群抽奖等场景,使用抽签功能从名单中随机选择。支持一次抽取多人,每次结果都不同。
3. 数据采样和统计
做数据分析时需要从大样本中随机抽取子集。使用随机数生成器配合不重复选项,可以快速获得一组不重复的随机索引。
4. 游戏和趣味应用
骰子模拟、随机分组、随机排序等游戏场景,都可以用这个工具轻松实现。
🔧 如何使用 jsjson.com 的随机数生成器
打开 jsjson.com/tools/random,页面分为三个功能区域:
生成随机整数
- 设置最小值和最大值(如 1 ~ 100)
- 设置生成数量(最多 1000 个)
- 可选勾选不重复和排序输出
- 选择分隔符(换行 / 逗号 / 空格)
- 点击生成按钮,结果立即显示在下方文本框
- 点击复制一键复制结果
生成随机浮点数
- 设置最小值和最大值(如 0 ~ 1)
- 设置小数位数(0-15 位精度)
- 设置生成数量
- 点击生成即可得到指定精度的随机小数
抽签和洗牌
- 在文本框中输入列表,每行一个项目
- 点击随机抽取 1 个:从列表中随机选中一项
- 点击抽取多个:设置数量后批量抽取(不重复)
- 点击全部洗牌:将整个列表随机打乱顺序
💡 随机数实用技巧
技巧一:用不重复随机数生成抽奖号码
假设要从 1-50 中抽取 6 个不重复的中奖号码:
最小值:1 最大值:50 数量:6
✅ 勾选"不重复" ✅ 勾选"排序输出"
生成结果类似:3, 7, 15, 22, 38, 45,每次点击生成都会得到不同的组合。
技巧二:批量生成测试用的随机价格
开发电商系统时需要大量测试价格数据:
最小值:0.01 最大值:999.99 小数位数:2 数量:100
生成后复制结果,用逗号分隔直接导入测试脚本。
技巧三:用洗牌功能实现随机分组
假设有 20 个人需要随机分成 4 组:
- 将 20 个人名输入列表(每行一个)
- 点击全部洗牌
- 洗牌后的前 5 个为第 1 组,接下来 5 个为第 2 组,以此类推
技巧四:结合 UUID 生成唯一标识
如果需要为每个随机数配一个唯一 ID,可以配合 jsjson.com UUID 生成器 使用,同时生成随机数值和唯一标识符。
技巧五:用随机数生成验证码
生成 6 位数字验证码:
最小值:100000 最大值:999999 数量:1
适用于短信验证码、邮箱验证码等一次性密码的测试场景。
❓ 常见问题 FAQ
Q:这个随机数生成器用的是什么算法?
A:本工具使用 Web Crypto API 的 crypto.getRandomValues() 方法,这是浏览器提供的密码学级安全随机数生成器(CSPRNG)。它基于操作系统的熵源,产生的随机数具有密码学安全性,远优于 Math.random()。适合对随机性要求较高的场景。
Q:"不重复"选项是怎么实现的?
A:勾选"不重复"后,算法会使用 Set 数据结构去重,直到生成足够数量的唯一随机数。注意如果范围小于请求的数量会提示错误——例如在 1-10 范围内不可能生成 15 个不重复的数。
Q:浮点数的精度是什么意思?
A:精度指小数点后的位数。例如精度为 2 时,生成的随机数类似 3.14;精度为 4 时类似 3.1415。最大支持 15 位小数,满足绝大多数场景需求。
Q:抽签和洗牌功能有什么区别?
A:抽签是从列表中随机选择 1 个或多个项目(不重复),类似从帽子里抽纸条;洗牌是将整个列表的顺序随机打乱,类似洗扑克牌——洗牌后每个元素都会出现,只是顺序变了。
Q:随机数可以导出保存吗?
A:生成结果会显示在文本框中,点击复制按钮可一键复制到剪贴板,然后粘贴到任何需要的地方。如果需要保存为文件,可以粘贴到文本编辑器后另存为 .txt 文件。
🔗 相关工具推荐
- 密码生成器 — 生成安全随机密码,支持自定义字符类型和强度检测
- UUID 生成器 — 生成 UUID v4 唯一标识符
- Lorem 占位文本生成器 — 生成 Lorem ipsum 假数据文本用于页面排版测试
- 时间戳转换 — Unix 时间戳与日期时间互相转换