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;
        
    }
    
}

上一篇 下一篇

猜你喜欢

热点阅读