首頁 › 程式開發 › 銀行卡校驗工具
🔧

銀行卡校驗工具

Luhn 檢查碼逐位驗算,辨識卡組織號段並給出正確末位

输入银行卡号

测试号来自支付行业公开文档,用于联调与自测。真实卡号请勿粘贴到任何网页:本工具完全在浏览器本地运算,不发起任何网络请求,也不保存输入。

工具介紹

收銀系統、訂單表、支付聯調都會遇到「這個卡號是不是錄錯了」。Luhn 校驗是幾乎所有銀行卡號的最後一道自檢,本工具把它逐位攤開,並告訴你改哪一位可以通過:

  • Luhn 驗算:從右往左偶數位乘 2、超過 9 減 9,逐位表格展示原始數字、是否加倍、計入值與最終檢查和
  • 卡組織辨識:依 BIN 前綴判斷銀聯、Visa、萬事達、美國運通、JCB、Discover、大來
  • 位數慣例核對:15、16、19 位與卡組織的常見長度不符時給出提醒,便於發現漏位
  • 正確末位提示:校驗不通過時,依前段號碼反算出讓整串通過的唯一末位數字
  • 結構拆分:發卡機構識別碼 BIN(前 6 位)、個人帳號段、檢查碼分別列出
  • 輸入容錯:自動忽略空格與橫線,辨識純數字異常字串與過短、過長輸入

使用情境

  • 支付開發中對表單輸入做前端預先校驗,減少無效請求
  • 財務與營運核對表格裡的卡號是否有手抄錯誤
  • 測試環境建構符合校驗規則的範例卡號
  • 客服判斷客戶報出的卡號位數與卡組織是否匹配
  • 學習 Luhn 與身分證檢查碼這兩種「一位糾錯碼」的差別

卡組織號段與位數速查

卡組織前綴特徵常見位數安全碼位置
銀聯 UnionPay62 開頭16 / 19 位背面後三位 CVN2
Visa4 開頭16 位(舊卡 13 位)背面後三位 CVV2
Mastercard51 至 55、2221 至 272016 位背面後三位 CVC2
American Express34 或 37 開頭15 位正面右側四位 CID
JCB3528 至 358916 至 19 位背面後三位
Discover6011、644 至 649、6516 位背面後三位 CID
Diners Club30、36、38 開頭14 / 16 位背面後三位

常見問題

  • 校驗通過說明卡是真的嗎?不是。Luhn 是一位糾錯檢查碼,只保證號碼內部自洽,無法證明卡已發行、未掛失或有餘額,也無法驗證持卡人身分
  • 能查到是哪家銀行嗎?需要發卡機構 BIN 分配表,該表由銀聯與各卡組織發布並持續變動,靜態網頁內建的號段表只能判斷到卡組織一級
  • 為什麼提示改末位就能通過?前段號碼固定時,使檢查和整除 10 的數字恰好只有一個,因此「末位錄錯」是最常見且可自動修正的錯誤;若是中間某位抄錯,則需要逐位嘗試才能定位
  • 安全碼可以一起校驗嗎?CVV2 與 CVC2 由發卡行金鑰計算,規則不公開,任何網頁都只能校驗卡號本體,請勿在表單裡收集安全碼
  • 可以把真實卡號貼進來嗎?技術上不會上傳,但不建議把真實卡號輸入任何網頁,包括本站;測試請用行業公開的測試號

校驗完號碼,若要給帳號加一道隨機口令可用隨機密碼產生;對表單裡的敏感欄位做去識別化請使用隱私資訊遮掩;同為「一位檢查碼」思路的身分證號碼校驗建議對照閱讀。校驗全程在瀏覽器本機完成。