版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ZY_FlyWay/article/details/95612473
// Converted to Swift 4 by Swiftify v4.2.40307 - https://objectivec2swift.com/
func checkBankCardNumber(_ cardNumber: String?) -> Bool {
var oddSum: Int = 0 // 奇数和
var evenSum: Int = 0 // 偶数和
var allSum: Int = 0 // 总和
// 循环加和
for i in 1...(cardNumber?.count ?? 0) {
let theNumber = (cardNumber as NSString?)?.substring(with: NSRange(location: (cardNumber?.count ?? 0) - i, length: 1))
var lastNumber = Int(truncating: theNumber ?? "") ?? 0
if i % 2 == 0 {
// 偶数位
lastNumber *= 2
if lastNumber > 9 {
lastNumber -= 9
}
evenSum += lastNumber
} else {
// 奇数位
oddSum += lastNumber
}
}
allSum = oddSum + evenSum
// 是否合法
if allSum % 10 == 0 {
return true
} else {
return false
}
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有