IOS 判断是否是合法银行卡
2019-04-13 本文已影响0人
Albert新荣
+(BOOL)checkBankCardNumber:(NSString*)cardNumber
{
int oddSum =0; // 奇数和
int evenSum =0; // 偶数和
int allSum =0; // 总和
// 循环加和
for(NSInteger i =1; i <= cardNumber.length; i++)
{
NSString *theNumber = [cardNumber substringWithRange:NSMakeRange(cardNumber.length-i,1)];
int lastNumber = [theNumber intValue];
if(i%2==0)
{
// 偶数位
lastNumber *=2;
if(lastNumber >9)
{
lastNumber -=9;
}
evenSum += lastNumber;
}
else
{
// 奇数位
oddSum += lastNumber;
}
}
allSum = oddSum + evenSum;
// 是否合法
if(allSum%10==0)
{
return YES;
}
else
{
return NO;
}
}