驗證信用卡號 1. 從 "右邊第二個數字" 開始,每隔一位都乘以 2。其餘乘以 1。 例:VISA 16 位 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D16*1 = c1 D15*2 = a1b1 D14*1 = c2 D13*2 = a2b2 D12*1 = c3 D11*2 = a3b3 D10*1 = c4 D9*2 = a4b4 D8*1 = c5 D7*2 = a5b5 D6*1 = c6 D5*2 = a6b6 D4*1 = c7 D3*2 = a7b7 D2*1 = c8 D1*2 = a8b8 2. 公式 Y = (c1+a1+b1) + (c2+a2+b2) + ... + (c8+a8+b8) 若能被 10 整除則正確。 例如: 4500232931373506 6 5 0 6 2 3 2 9 3 1 3 7 3 5 0 6 x2 x2 x2 x2 x2 x2 x2 x2 -------------------------------- 12 00 04 04 06 06 06 02 Y = 5 + 6 + 3 + 9 + 1 + 7 + 5 + 6 + (1+2) + (0+0) + (0+4) + (0+4) + (0+6) + (0+6) + (0+6) + (0+2) = 70 70 能被 10 整除所以正確. 各種卡長度不太一樣,請特別注意是從 "右邊第二個數字" 這句話的意思。 有興趣請到 http://www.beachnet.com/~hstiles/cardtype.html 看看。