[Objective-C] Objective C通过Luhn算法实现的信用卡校验代码 →→→→→进入此内容的聊天室

来自 , 2019-10-10, 写在 Objective-C, 查看 135 次.
URL http://www.code666.cn/view/9ecff545
  1. + (BOOL)checkCreditCardNumber:(NSString *)cardNum
  2. {
  3.     NSAssert(cardNum && cardNum != @"" , @"checkCreditCardNumber: cardNum is nil.");
  4.    
  5.     NSInteger len = [cardNum length];
  6.     NSInteger sumNumOdd = 0;
  7.     NSInteger sumNumEven = 0;
  8.     BOOL isOdd = YES;
  9.        
  10.     for (NSInteger i = len - 1; i >= 0; i--) {
  11.        
  12.         NSInteger num = [cardNum substringWithRange:NSMakeRange(i, 1)].integerValue;
  13.         if (isOdd) {//奇数位
  14.             sumNumOdd += num;
  15.         }else{//偶数位
  16.             num = num * 2;
  17.             if (num > 9) {
  18.                 num = num - 9;
  19.             }
  20.             sumNumEven += num;
  21.         }
  22.          isOdd = !isOdd;
  23.     }
  24.    
  25.     return ((sumNumOdd + sumNumEven) % 10 == 0);
  26. }
  27. //objectc/7096

回复 "Objective C通过Luhn算法实现的信用卡校验代码"

这儿你可以回复上面这条便签

captcha