随机项目选择器工具

粘贴项目列表,随机抽取一个或多个选项,并查看剩余项目和抽取历史。

每行一个项目;空行会忽略,相同文字位于不同行时仍视为独立项目。

一次最多抽取 1,000 次;无放回时不能超过当前可用项目数。

抽取方式

开启后,已经出现在历史中的输入行不会参加下一轮抽取。

已载入示例列表,可以直接抽取。
本次选中等待抽取
等待抽取

本次全部结果

  • 完成抽取后,本次选中的项目会显示在这里。
本次抽取
0
当前可用
0
历史轮次
0

剩余项目

  • 当前没有剩余项目。

抽取历史

  1. 完成抽取后,历史记录会显示在这里。

复制内容不添加编号,每个选中项目占一行。

了解更多

抽取方法与不重复规则

安全随机抽取方法

工具先清理空行,再为每个输入行分配独立标识。随机索引来自浏览器 Web Crypto,并使用拒绝采样避免直接取模造成偏差。

无放回模式使用部分 Fisher–Yates 洗牌,只移动抽取所需范围;有放回模式每次都从当前可用池重新抽取。

无放回和跨轮次排除有什么区别

无放回保证同一轮不会抽中同一输入行两次;跨轮次排除会把历史中出现过的输入行从下一轮可用池移除。

重复文字如何识别

两行即使文字完全相同,也会被视为两个独立项目。这样可以保留用户输入中的实际权重;需要完全去重时,请先清理列表。

限制、隐私与适用边界

最多处理 1,000,000 个字符、50,000 个输入行和单轮 1,000 次抽取。历史最多保留 100 轮,超过后自动移除最早记录。

所有处理都在浏览器本地完成,不上传列表,不使用远程 API,也不写入 localStorage。复制只在用户点击后发生。

本工具适合日常娱乐和一般选择,不用于受监管抽奖、医疗、法律、财务或安全关键决策。

工具信息与来源

随机源参考 MDN Crypto.getRandomValues;无放回抽取方法参考 NIST 对 Fisher–Yates 洗牌的说明。未使用第三方运行库。

MDN Crypto.getRandomValues()

NIST Fisher–Yates shuffle

常见问题

有放回和无放回有什么区别?

有放回允许同一输入行在一轮中被多次选中;无放回保证同一轮中每个输入行最多出现一次。

为什么开启排除历史后没有可用项目?

历史中已经覆盖全部输入行。清空历史、关闭排除选项或增加新项目即可继续。

修改列表后为什么历史会清空?

输入行的身份和可用池已经变化,清空旧历史可以避免把旧项目错误地排除在新列表之外。