+(BOOL)checkBankCardNumber:(NSString*)cardNumber
{
intoddSum =0; // 奇数和
intevenSum =0; // 偶数和
intallSum =0; // 总和
// 循环加和
for(NSIntegeri =1; i <= cardNumber.length; i++)
{
NSString*theNumber = [cardNumbersubstringWithRange:NSMakeRange(cardNumber.length-i,1)];
intlastNumber = [theNumberintValue];
if(i%2==0)
{
// 偶数位
lastNumber *=2;
if(lastNumber >9)
{
lastNumber -=9;
}
evenSum += lastNumber;
}
else
{
// 奇数位
oddSum += lastNumber;
}
}
allSum = oddSum + evenSum;
// 是否合法
if(allSum%10==0)
{
returnYES;
}
else
{
returnNO;
}
}