php銀行卡校驗

2022-02-07 19:28:50 字數 739 閱讀 1350

前言

銀行金卡,維薩和萬事達、銀聯品牌,如果是貸記卡或準貸記卡,一定為16位卡號。而借記卡可以16-19位不等。

美國運通卡則不論金卡或是白金卡、普通卡,都是15位卡號。

16-19 位卡號校驗位採用 luhm 校驗方法計算

將未帶校驗位的 15 位卡號從右依次編號 1 到 15,位於奇數字型大小上的數字乘以 2

將奇位乘積的個十位全部相加,再加上所有偶數字上的數字

將加法和加上校驗位能被 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...