🧰 UtlKit

随机选择器怎么用: 含边界区间的数字抽取与去空白列表抽取, 不放回靠重抽, 在浏览器

两种模式: 从含边界区间抽数字, 或从每行一个、去空白后的列表抽取, 带数量, 允许重复开关, 页面保留最近 10 个结果.

随机选择器从区间抽数字, 或从每行一个的列表抽取项目, 在浏览器内完成. 顶部两个模式按钮: 随机数, 默认, Min 预填 1, Max 预填 100; 随机列表, 文本框占位符是 Alice, Bob, Charlie, Diana. 下面是数量框(默认 1), 允许重复复选框(默认关), 随机抽取按钮. 按下它, 抽取结果以大号字显示在 Result 行, 下面有复制按钮, 每次抽取也进历史列表, 保留最近 10 个结果. 不发送任何东西: 区间运算, 列表拆分, 抽取全在设备上进行, 刷新页面清空结果和历史.

工具接收什么, 给出什么

输入是两个模式按钮, 模式对应的字段, 数量, 允许重复开关, 唯一的动作是随机抽取按钮, 所以计算不是实时的: 只有按下它, 结果才变. 结果块显示小号 Result 标签, 大号字的抽取值, 以及复制按钮, 复制的正是结果字符串. 没有清除按钮, 没有重置方式: 结果留在屏幕上, 直到下一次成功的抽取覆盖它; 历史列表, 标题 History, 最多 10 条, 新的在前.

随机数模式怎么抽

Min 和 Max 按整数读取, 所以任一个填了小数, 只取整数部分: Min 填 1.9 就是 Min 填 1. 区间两端都含, 每次抽取是区间大小乘随机分数取整, 加上最小值, 使区间内每个整数等概率: 从 1 到 10 抽一万次, 每个值落在 970 到 1050 次之间. 区间大小是 max 减 min 加 1, 每次按数量框抽, 一个槽位一次.

不放重在两种模式里做什么

允许重复关闭时, 随机数模式先把请求截到区间大小: 从 1 到 3 抽 5 个, 只抽 3 个, 因为只有 3 个数字. 然后每个槽位抽, 抽到本轮已抽过的数就重抽, 重抽不占槽位, 所以结果总是数量与区间大小的较小者那么多唯一数字; min 等于 max 的区间, 比如 7 到 7, 不管要多少都只返回一个 7. 列表模式是同一个思路加一个池: 每次抽取从池里拿一个并移除, 所以你输入的每条不同行最多被抽一次, 池抽干就提前停.

列表模式对你的文本做了什么

列表按换行拆开, 每行去掉两端空格, 然后为空的行丢掉: Alice 带尾随空格的一行变成 Alice, 名字之间的空行被忽略. 重复的行不合并: 两行都写 Alice, 池里就有两个 Alice 条目, 不放重下抽两次, 仍可能回来 A, A, 因为两个条目是池里不同的成员. 输入为空, 或只有空格和换行, 抽不出任何条目, 按钮什么都不做.

什么时候抽取不产生结果

三种输入让按钮无效: Min 大于 Max, Min 或 Max 不是数字, 列表修剪后为空. 每种情况页面不产生结果, 也不加历史条目, 上次的结果原样留在原地, 因为失败的抽取不清空它. 数量框是最宽容的: 空, 一个单词, 或 0, 都读作 1, 所以框空着也照样抽一次.

数字和名字去哪里

哪里都不去, 不出设备. 字段由页面读取, 抽取用浏览器里的 Math.random 运行, 全程没有任何网络请求. 结果和 10 条历史只存在于页面状态里: 没有保存的历史, 没有存储, 刷新标签页两个都空. 复制用浏览器剪贴板, 所以抽取值只有你按了复制再粘贴到别处才离开页面.

它不是什么

工具抽取, 不生成安全值: Math.random 不是密码学随机源, 所以生成标识符用UUID 生成器, 生成密码用密码生成器, 它们建在浏览器安全随机之上. 它也是随机数工具里精简的一端: 要更多选项的区间, 用随机数生成器. 同类浏览器计算工具的详解, 看字符串相似度指南.

相关工具

常见问题

随机选择器会把我的列表或区间上传到服务器吗?

不会. 字段由页面读取, 唯一的计算是抽取, 每个槽位一个随机索引或一个随机整数, 所以什么都不离开设备, 全程没有任何网络请求. 结果和 10 条历史只存在于页面状态里: 没有保存的历史, 没有存储, 刷新标签页两个都空.

为什么抽取什么都没做?

三种输入是安静的无效: Min 大于 Max, Min 或 Max 不是数字, 列表修剪后为空. 每种情况页面不产生结果, 也不加历史条目, 上次的结果原样留在原地, 因为失败的抽取不清空它. 注意, 空的数量, 一个单词, 或 0, 不是无效: 它们都读作 1, 所以抽取照样抽一次.

同一个数字或同一个项目会被抽两次吗?

取决于允许重复开关. 关闭时, 随机数模式碰撞就重抽, 所以同一个数字在一次结果里不会出现两次; 列表模式把每次抽到的行从池里移除, 所以一行不会被抽两次. 列表模式有一个坑: 输入里重复的行仍作为池里不同的条目, 所以两行都写 Alice, 仍可能两个都被抽到, 给出 A, A 这样的结果. 开关打开时, 什么都不移除, 碰撞保留, 所以任何值, 数字或行, 都能重复, 次数由随机抽取说了算.

随机性对密码或令牌足够安全吗?

不. 工具用 Math.random 抽取, 即浏览器的普通伪随机源, 不是密码学源, 不该用于攻击者可能获利的事情. 生成标识符, 用 UUID 生成器, 它建在浏览器安全随机之上; 生成密码, 用密码生成器. 这个工具留给游戏, 抽奖, 从列表里选名字.

为什么抽到的比要求的少?

不放重模式截了抽取. 随机数模式最多抽区间大小: 从 1 到 3 抽 5 个回来 3 个, min 等于 max 的区间, 比如 7 到 7, 不管要多少都只回来一个数. 列表模式最多抽你输入的不同行数, 因为每次抽取把它的行从池里移除, 池空了就停. 要拿到完整数量, 打开允许重复, 带重复.

相关文章