ThinkPHP

thinkphp使用Luhm验证银行卡号

作者:本站 2017-07-25 浏览:1361 标签: thinkphp    银行卡    验证    

  银行卡Luhm 校验  /*  16-19 位卡号校验位采用 Luhm 校验方法计算:  1,将未带校验位的 15 位卡号从右依次编号 1 到 15,位于奇数位号上的数字乘以 2  2,将奇位乘积的个十位全部相加,再加上所有偶数位上的数

  银行卡Luhm 校验

  /*

  16-19 位卡号校验位采用 Luhm 校验方法计算:

  1,将未带校验位的 15 位卡号从右依次编号 1 到 15,位于奇数位号上的数字乘以 2

  2,将奇位乘积的个十位全部相加,再加上所有偶数位上的数字

  3,将加法和加上校验位能被 10 整除。

  */

  function luhm($s){

  $n = 0;

  $ns = strrev($s); // 倒序

  for ($i=0; $i<strlen($s) p="" {

  if ($i % 2 ==0) {

  $n += $ns[$i]; // 偶数位,包含校验码

  }else{

  $t = $ns[$i] * 2;

  if ($t >=10) {

  $t = $t - 9;

  }

  $n += $t;

  }

  }

  return ( $n % 10 ) == 0;

  }


  • 0

  • 0

  • 1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.如有文章有版权争议,请给我们留言或者邮件告知我们,邮箱地址:028mw@126.com。