您现在的位置是:生成校验位(银行卡最后一位)

生成校验位(银行卡最后一位)

PHP 日期:2019-07-24点击:1207

** 注意:$s必须全部为数字

// 计算校验位
function encodeCode($s) {
    $a = $b = $c = $d = $e = 0;
    $s = str_split($s);
    $count = count($s);
    for( $i = 1; $i <= $count; $i++ ) {
        $sc = intval($s[$i - 1]);
        if( $i <= $count && $i % 2 == 0 ) {
            $a += $sc;
        } elseif( $i <= $count - 1 && $i % 2 == 1 ) {
            $b += $sc;
        }
    }
    $c = $a * 3;
    $d = $b + $c;
    if( $d % 10 == 0 ) {
        $e = $d - $d;
    } else {
        $e = $d + (10 - $d % 10) - $d;
    }
    return $e;
}

标签: PHP

站长简介

姓名:喻理
微信:yuli0927
邮箱:yuli0927@126.com
不懂业务的运维工程师不是一个好程序员。

分类

最新文章

热门文章