public function checkBankNo($bankNo) {
// 奇数之和
$sumOdd = 0;
// 偶数之和
$sumEven = 0;
// 长度
$length = strlen($bankNo);
$wei = [];
for ($i = 0; $i < $length; $i++) {
$wei[$i] = substr($bankNo, $length - $i - 1, 1);// 从最末一位开始提取,每一位上的数值
}
for ($i = 0; $i < $length / 2; $i++) {
$sumOdd += $wei[2 * $i];
if (($wei[2 * $i + 1] * 2) > 9)
$wei[2 * $i + 1] = $wei[2 * $i + 1] * 2 - 9;
else
$wei[2 * $i + 1] *= 2;
$sumEven += $wei[2 * $i + 1];
}
if (($sumOdd + $sumEven) % 10 == 0) {
return true;
} else {
return false;
}
}
php银行卡号校验算法(16、19位)
最新推荐文章于 2023-05-16 17:52:25 发布