美文网首页
iOS判断银行卡号是否正确

iOS判断银行卡号是否正确

作者: 开发iOS攻城狮 | 来源:发表于2017-09-07 15:33 被阅读531次

    废话不多说,直接上代码

    检查银行卡号是否正确

    源码如下:

    - (BOOL)checkCardNo:(NSString*)cardNo{

    if (cardNo.length < 15) {

    return NO;

    }

    int oddsum = 0;    //奇数求和

    int evensum = 0;    //偶数求和

    int allsum = 0;

    int cardNoLength = (int)[cardNo length];

    int lastNum = [[cardNo substringFromIndex:cardNoLength-1] intValue];

    cardNo = [cardNo substringToIndex:cardNoLength - 1];

    for (int i = cardNoLength -1 ; i>=1;i--) {

    NSString *tmpString = [cardNo substringWithRange:NSMakeRange(i-1, 1)];

    int tmpVal = [tmpString intValue];

    if (cardNoLength % 2 ==1 ) {

    if((i % 2) == 0){

    tmpVal *= 2;

    if(tmpVal>=10)

    tmpVal -= 9;

    evensum += tmpVal;

    }else{

    oddsum += tmpVal;

    }

    }else{

    if((i % 2) == 1){

    tmpVal *= 2;

    if(tmpVal>=10)

    tmpVal -= 9;

    evensum += tmpVal;

    }else{

    oddsum += tmpVal;

    }

    }

    }

    allsum = oddsum + evensum;

    allsum += lastNum;

    if((allsum % 10) == 0)

    return YES;

    else

    return NO;

    }

    经本人测试,没有问题,可以放心使用。

    相关文章

      网友评论

          本文标题:iOS判断银行卡号是否正确

          本文链接:https://www.haomeiwen.com/subject/cpuijxtx.html