數字挑選器速查表是該挑選器所暴露的每個控制項、限制與輸出的快速參考摘要,讓您可以設定範圍、要求最多 1,000 個整數,並選擇是否允許重複,而無需每次重新閱讀說明。下列速查表說明的是隨機數字產生器,此工具完全在您的瀏覽器中執行,因此沒有任何範圍或結果會離開裝置。您輸入最小與最大的安全整數,兩個端點都包含在內,挑選一個介於 1 到 1,000 之間的數量,決定是否允許重複,然後點擊「產生」。隨機性是從瀏覽器的 Web Crypto 介面取得,接著使用拒絕抽樣法映射到您的範圍中,這種方法會捨棄原始隨機字的未完成尾端,使得包含範圍內的每個整數都恰好對應相同數量的可接受原始值。結果會以逗號分隔的整數顯示,您可以選取並複製;而變更任何輸入會清除先前的清單,如此一來,舊的結果就不會被誤認為是由新設定所產生的輸出。

數字挑選器上每個控制項的作用
數字挑選器上的每個設定都對應到一種特定的行為。當您需要記住某個輸入是否包含端點、什麼算是有效值,或是點擊「產生」後挑選器會做什麼時,請將此表格作為快速查詢使用。
| 控制項 | 接受內容 | 對輸出的影響 |
|---|---|---|
| 最小值 | 任何安全整數,包含負數 | 可能出現的最小數字;該範圍本身即符合資格 |
| 最大值 | 任何安全整數,必須大於或等於最小值 | 可能出現的最大數字;該範圍本身即符合資格 |
| 結果數量 | 介於 1 到 1,000 之間的整數 | 挑選器在單次點擊中會回傳多少個整數 |
| 允許重複 | 開啟或關閉切換 | 開啟:每次抽取獨立,可重複。關閉:清單中沒有任何整數會出現兩次 |
| 產生數字 | 按鈕點擊 | 執行 Web Crypto 抽樣、拒絕抽樣,以及(若需唯一值)稀疏部分 Fisher–Yates 洗牌 |
| 輸出區域 | 以逗號分隔的整數,單行顯示 | 選取並複製文字;編輯任何輸入會清除此清單 |
選擇唯一值或可重複的數字
重複切換是唯一會改變挑選器行為的決策。當每次抽取應獨立進行且相同數字可多次出現時,請保持開啟。當您需要不同的位置、識別碼或編號參與者時,請將其關閉。挑選器會在開始前檢查包含範圍的大小,因此當要求的唯一值數量超過範圍所能容納的數量時,會回報為不可能,而不是悄悄地予以截斷。
| 目標 | 數量設定 | 重複 | 為何此組合有效 |
|---|---|---|---|
| 從 1 到 10 中抽取一個數字 | 1 | 任一 | 從完整填滿的範圍中進行單次抽取;重複與否無關緊要 |
| 使用放回抽樣重複實驗 | 任何 | 開啟 | 每次抽取皆獨立,因此先前的結果仍維持資格 |
| 從 30 位參與者中挑選 5 位優勝者且不重複 | 5 | 關閉 | 沒有任何參與者會被抽中兩次;挑選器會回傳 5 個不同的整數 |
| 將小範圍中每個值的順序隨機排列 | 等於範圍大小 | 關閉 | 稀疏部分洗牌會使每個整數剛好出現一次 |
| 從 1 到 5 中要求 10 個唯一值 | 10 | 關閉 | 不可能 — 挑選器會回報錯誤,而不會重試 |
如何使用數字挑選器
- 在瀏覽器中開啟隨機數字產生器工具。該頁面在本地端執行,因此沒有任何範圍或結果會被傳送至伺服器。
- 在最小值欄位中輸入您希望允許的最小整數。可接受負值,且該範圍本身即有資格出現。
- 在最大值欄位中輸入您希望允許的最大整數。它必須大於或等於最小值,且包含範圍的大小本身也必須是安全整數。
- 在數量欄位中輸入您需要的結果數量,使用介於 1 到 1,000 之間的整數。
- 決定是否允許重複。若要進行獨立抽取,請保持切換開啟;若每個結果都必須不同,請將其關閉。
- 點擊「產生數字」。挑選器會從 Web Crypto 抽取 32 位元的字詞,將其組合成 53 位元的值,套用拒絕抽樣以捨棄任何未完成的模餘尾端,然後(開啟重複時)直接進行映射,或(關閉重複時)執行稀疏部分 Fisher–Yates 洗牌。
- 在輸出區域中讀取、選取或複製以逗號分隔的整數。之後若編輯任何輸入,清單將會被清除,因此舊的結果不會被誤認為是由新設定產生的輸出。
限制與邊緣情況一覽
挑選器會預先強制執行所有限制,而不是進行四捨五入、重試或回傳部分清單。當請求被拒絕或輸出看起來不如預期時,請將本節作為查詢使用。
| 情況 | 挑選器的處理方式 | 原因 |
|---|---|---|
| 任何輸入中出現小數、空白欄位、無限大或不安全整數 | 以明確的錯誤拒絕 | 瀏覽器的數字欄位無法精確表示這些值 |
| 最大值小於最小值 | 拒絕 | 反向的範圍無法產生有效的包含範圍 |
| 包含範圍的大小不是精確的安全整數 | 拒絕 | 防止大型範圍被意外四捨五入 |
| 數量超過 1,000 | 拒絕 | 每次操作上限為 1,000 個整數 |
| 唯一值數量大於範圍大小 | 回報為不可能 | 無法回傳比範圍所含更多的不同值 |
| 範圍僅包含一個值 | 回傳該值 | 兩個範圍相等,因此唯一符合資格的結果就是該範圍本身 |
| 跨越負數或零的範圍 | 接受 | 兩個範圍及範圍大小皆為有效的安全整數 |
常見情境與正確設定
常見的工作對應到一組少量的設定。挑選符合您要做的事情的那一列,填入範圍,然後點擊「產生」。
| 工作 | 最小值 | 最大值 | 數量 | 重複 |
|---|---|---|---|---|
| 從 1 到 10 之間抽取一個數字 | 1 | 10 | 1 | 任一 |
| 擲一個六面骰 | 1 | 6 | 1 | 任一 |
| 從 0 到 100 產生 20 個隨機測試值 | 0 | 100 | 20 | 開啟 |
| 從 30 個編號項目中挑選 5 位優勝者 | 1 | 30 | 5 | 關閉 |
| 將 12 人隊列中的每個位置進行洗牌 | 1 | 12 | 12 | 關閉 |
| 為模擬產生 1,000 個整數的樣本 | 0 | 9,999 | 1,000 | 開啟 |
公平性、隱私,以及何時不應使用挑選器
隨機性來自瀏覽器的 Web Crypto 介面 — 請參閱 MDN 上的 Crypto.getRandomValues — 此介面提供密碼學上強度的輸入。拒絕抽樣會捨棄原始隨機字的未完成尾端,使得包含範圍內的每個整數都恰好對應相同數量的可接受原始值;簡單的餘數運算會使某些值的可能性略高於其他值,因此挑選器會避開這種做法。當重複功能關閉時,稀疏部分 Fisher–Yates 洗牌會選擇唯一的偏移位置,而不需為範圍內的每個整數建立陣列,使得記憶體使用量與您要求的數量成正比,而非與範圍大小成正比。
即使是公平的抽樣器,仍有兩個實際的限制值得注意。挑選器不會公開種子、已簽署的記錄、外部隨機性信標或可重現的稽核軌跡,因此訪客之後無法證明是哪個瀏覽器熵源產生了特定清單。對於受規範的抽獎、獎品、存取控制、密碼、權杖或其他具重大影響的決策,請遵循您組織所要求的經稽核程序。如需更廣泛地瞭解對於基於瀏覽器的挑選器而言,「在線上使用是否安全」意味著什麼,請參閱 隨機數字產生器在線上使用是否安全? 此外,挑選器也無法表示比 JavaScript 安全整數範圍更寬的整數文字;若您需要任意精度的值,請改用接受整數字串的專門系統,而不是使用一般的瀏覽器數字。
節省點擊次數的訣竅
幾個習慣可以讓挑選器在實際使用中更快速。在點擊「產生」之前,請務必先設定數量與重複切換,因為變更任何輸入都會清除先前的清單,且舊的結果可能會被誤認為是由新設定產生的輸出。如果您需要小範圍內的每個值剛好出現一次,請將數量設定為等於範圍大小,並關閉重複 — 挑選器會使用稀疏部分 Fisher–Yates 洗牌並回傳一個排列。如果您正在進行重複實驗,請保持重複功能開啟,並在您想要全新的獨立樣本時重新產生一份清單。輸出是單行的逗號分隔整數,您可以直接將其貼到試算表、腳本或聊天訊息中,無需額外清理。
相關閱讀:擲骰子速查表:記法、骰子與快速機率。