銀行卡校驗工具
Luhn 檢查碼逐位驗算,辨識卡組織號段並給出正確末位
输入银行卡号
测试号来自支付行业公开文档,用于联调与自测。真实卡号请勿粘贴到任何网页:本工具完全在浏览器本地运算,不发起任何网络请求,也不保存输入。
工具介紹
收銀系統、訂單表、支付聯調都會遇到「這個卡號是不是錄錯了」。Luhn 校驗是幾乎所有銀行卡號的最後一道自檢,本工具把它逐位攤開,並告訴你改哪一位可以通過:
- Luhn 驗算:從右往左偶數位乘 2、超過 9 減 9,逐位表格展示原始數字、是否加倍、計入值與最終檢查和
- 卡組織辨識:依 BIN 前綴判斷銀聯、Visa、萬事達、美國運通、JCB、Discover、大來
- 位數慣例核對:15、16、19 位與卡組織的常見長度不符時給出提醒,便於發現漏位
- 正確末位提示:校驗不通過時,依前段號碼反算出讓整串通過的唯一末位數字
- 結構拆分:發卡機構識別碼 BIN(前 6 位)、個人帳號段、檢查碼分別列出
- 輸入容錯:自動忽略空格與橫線,辨識純數字異常字串與過短、過長輸入
使用情境
- 支付開發中對表單輸入做前端預先校驗,減少無效請求
- 財務與營運核對表格裡的卡號是否有手抄錯誤
- 測試環境建構符合校驗規則的範例卡號
- 客服判斷客戶報出的卡號位數與卡組織是否匹配
- 學習 Luhn 與身分證檢查碼這兩種「一位糾錯碼」的差別
卡組織號段與位數速查
| 卡組織 | 前綴特徵 | 常見位數 | 安全碼位置 |
|---|---|---|---|
| 銀聯 UnionPay | 62 開頭 | 16 / 19 位 | 背面後三位 CVN2 |
| Visa | 4 開頭 | 16 位(舊卡 13 位) | 背面後三位 CVV2 |
| Mastercard | 51 至 55、2221 至 2720 | 16 位 | 背面後三位 CVC2 |
| American Express | 34 或 37 開頭 | 15 位 | 正面右側四位 CID |
| JCB | 3528 至 3589 | 16 至 19 位 | 背面後三位 |
| Discover | 6011、644 至 649、65 | 16 位 | 背面後三位 CID |
| Diners Club | 30、36、38 開頭 | 14 / 16 位 | 背面後三位 |
常見問題
- 校驗通過說明卡是真的嗎?不是。Luhn 是一位糾錯檢查碼,只保證號碼內部自洽,無法證明卡已發行、未掛失或有餘額,也無法驗證持卡人身分
- 能查到是哪家銀行嗎?需要發卡機構 BIN 分配表,該表由銀聯與各卡組織發布並持續變動,靜態網頁內建的號段表只能判斷到卡組織一級
- 為什麼提示改末位就能通過?前段號碼固定時,使檢查和整除 10 的數字恰好只有一個,因此「末位錄錯」是最常見且可自動修正的錯誤;若是中間某位抄錯,則需要逐位嘗試才能定位
- 安全碼可以一起校驗嗎?CVV2 與 CVC2 由發卡行金鑰計算,規則不公開,任何網頁都只能校驗卡號本體,請勿在表單裡收集安全碼
- 可以把真實卡號貼進來嗎?技術上不會上傳,但不建議把真實卡號輸入任何網頁,包括本站;測試請用行業公開的測試號
校驗完號碼,若要給帳號加一道隨機口令可用隨機密碼產生;對表單裡的敏感欄位做去識別化請使用隱私資訊遮掩;同為「一位檢查碼」思路的身分證號碼校驗建議對照閱讀。校驗全程在瀏覽器本機完成。