php銀行卡校正

來源:互聯網
上載者:User

標籤:

前言
銀行金卡,維薩和萬事達、銀聯品牌,如果是貸記卡或准貸記卡,一定為16位卡號。而借記卡可以16-19位不等。
美國運通卡則不論金卡或是白金卡、普通卡,都是15位卡號。
16-19 位卡號校正位採用 Luhm 校正方法計算

銀行卡的校正方式Luhm校正
  1. 將未帶校正位的 15 位卡號從右依次編號 1 到 15,位於奇數位號上的數字乘以 2
  2. 將奇位乘積的個十位全部相加,再加上所有偶數位上的數字
  3. 將加法和加上校正位能被 10 整除。
 1 <?php 2 /* 3   16-19 位卡號校正位採用 Luhm 校正方法計算: 4     1,將未帶校正位的 15 位卡號從右依次編號 1 到 15,位於奇數位號上的數字乘以 2 5     2,將奇位乘積的個十位全部相加,再加上所有偶數位上的數字 6     3,將加法和加上校正位能被 10 整除。 7 */ 8 function luhm($s) { 9     $n = 0;10     for ($i = strlen($s); $i >= 1; $i--) {11         $index=$i-1;12         //偶數位13         if ($i % 2==0) {14             $n += $s{$index};15         } else {//奇數位16             $t = $s{$index} * 2;17             if ($t > 9) {18                 $t = (int)($t/10)+ $t%10;19             }20             $n += $t;21         }22     }23     return ($n % 10) == 0;24 }25 26 $r = luhm(‘6225881414207430‘);27 var_dump($r);28 ?>

 

php銀行卡校正

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.