随机抽签
把名单粘进来随机抽取:支持多行或逗号、顿号分隔,可去重、可设权重、可指定抽取数量,还能一键洗牌全部并保留带时间的抽取历史。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
抽取设置
随机数来自浏览器的 crypto.getRandomValues,全程在本地完成。
名单数量:3
结果
本次抽中
先点上面的按钮开始抽取吧。
剩余名单(0)
—
历史记录
还没有抽取记录。
这个工具能做什么
- 课堂点名、年会抽奖、团建分组:把名单整段粘进来,一行一个或者用逗号、顿号分隔都能识别。
- 需要中奖概率不均等时给候选项加权重,例如「一等奖,1」和「谢谢参与,6」,让稀缺的奖更难抽中。
- 多轮抽取时打开「抽中后从名单移除」,抽过的人不再重复中奖,历史记录会带上每次抽取的时间。
- 要一个完整随机顺序时用「洗牌全部」,比一次只抽一个更适合安排发言顺序或座位。
示例
输入
张三,3 李四、王五
输出
张三(权重 3)· 李四(权重 1)· 王五(权重 1)
第一行按「名字,权重」解析,权重 3;第二行按顿号拆成两个候选项,未写权重时按 1 计,所以最终名单是 3 项。
常见问题
权重是怎么解析的?
一行里如果以「名字,数字」或「名字 数字」结尾,就按权重解析,数字可以是小数;否则整行按逗号、顿号、分号拆成多个等权候选项。权重不写默认为 1,数字解析不出来时会退化成普通名字而不是报错。
「允许重复抽中」和「抽中后移除」能一起用吗?
可以,但语义上有点矛盾。允许重复时抽取数量可以大于名单长度,是从名单里反复随机挑;开启移除后抽中的项会从剩余名单里消失,重复抽中同一人就没那么容易了。按场景选一个即可。
抽取数量能超过名单长度吗?
默认不能,会提示抽取数量不能超过名单长度。如果确实要抽更多次(比如抽 10 次看看概率分布),打开「允许重复抽中」就可以超过名单长度。
去重是按什么去重的?
按名字完全匹配去重,保留第一次出现的权重。所以「张三,3」和后面再写的「张三」会被合并成一项,权重取 3。
随机抽取公平吗?数据会上传吗?
公平且不上传。随机数取自浏览器 crypto.getRandomValues,不重复抽取用 Fisher–Yates 洗牌,整个过程在本地完成,名单和历史都不会离开浏览器。
关键词:random pickerlotterydrawshufflerandom name pickerweighted random随机抽签抽奖抽签洗牌随机点名权重抽取