前言將未帶校驗位的 15 位卡號從右依次編號 1 到 15,位於奇數字型大小上的數字乘以 2銀行金卡,維薩和萬事達、銀聯品牌,如果是貸記卡或準貸記卡,一定為16位卡號。而借記卡可以16-19位不等。
美國運通卡則不論金卡或是白金卡、普通卡,都是15位卡號。
16-19 位卡號校驗位採用 luhm 校驗方法計算
將奇位乘積的個十位全部相加,再加上所有偶數字上的數字
將加法和加上校驗位能被 10 整除。
<?php
/* 16-19 位卡號校驗位採用 luhm 校驗方法計算:
1,將未帶校驗位的 15 位卡號從右依次編號 1 到 15,位於奇數字型大小上的數字乘以 2
2,將奇位乘積的個十位全部相加,再加上所有偶數字上的數字
3,將加法和加上校驗位能被 10 整除。
*/function luhm($s) ;
} else * 2;
if ($t > 9)
$n += $t;}}
return ($n % 10) == 0;
}$r = luhm('6225881414207430');
var_dump($r);
?>
準確率怎麼樣,附文一片銀行卡校驗規則(luhn演算法)
銀行卡的校驗
銀行卡號一般是16位或者19位。由如下三部分構成。1,前六位是 發行者標識 2,中間的位數是 個人賬號標識 從卡號第七位開始 一般由6 12位數字組成。最多可以使用12位數字。3,最後一位是 根據卡號前面的數字,採用luhn演算法計算出的最後一位校驗位 public static boolean c...
銀行卡校驗規則
銀行卡號碼,一般是13 19位,由 卡bin 發卡行自定位 校驗位 三部分構成,其中 1 前6位是卡bin,由國際標準化組織分配給從事跨行轉接交換的銀行卡組織 2 發卡機構自定義位由6 12位數字組成,由發卡機構賦予 3 卡號的後1位數字,根據校驗位以前的數字 包括bin 取值按luhn方程計算得出...
校驗銀行卡是否正確
多說無益,貼 校驗銀行卡卡號 param cardid return public static boolean checkbankcard string cardid 從不含校驗位的銀行卡卡號採用 luhm 校驗演算法獲得校驗位 param noncheckcodecardid return pu...