银行卡卡号判断

- (BOOL) checkCardNo:(NSString*) cardNo{
    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;
}
时间: 2024-10-06 01:02:29

银行卡卡号判断的相关文章

C#:根据银行卡卡号判断银行名称

原文地址:android 根据银行卡卡号判断银行 原文是 java ,现在将它翻译成 C# ,并对代码重新编排整理,不足之处请多多包涵. 根据银行卡号判断所属银行,依据是卡号的前6位数,称之为bin号. 我们把bin号转化为长整形,再把各个银行卡的bin号做成有序表.通过二分查找的方法,找到bin号在有序表的位置,然后读出银行卡的信息. 1.创建项目:BankInfoDemo(控制台应用程序) 2.新建类:BankInfo.cs 1 /// <summary> 2 /// 银行信息 3 ///

C#:根据银行卡卡号推断银行名称

原文:C#:根据银行卡卡号推断银行名称 原文地址:android 根据银行卡卡号判断银行 原文是 java ,现在将它翻译成 C# ,并对代码重新编排整理,不足之处请多多包涵. 根据银行卡号判断所属银行,依据是卡号的前6位数,称之为bin号. 我们把bin号转化为长整形,再把各个银行卡的bin号做成有序表.通过二分查找的方法,找到bin号在有序表的位置,然后读出银行卡的信息. 1.创建项目:BankInfoDemo(控制台应用程序) 2.新建类:BankInfo.cs 1 /// <summar

判断银行卡卡号输入的合法性接口

// 判断银行卡卡号输入的合法性 //参数:输入银行卡号,判断银行卡号是否为合法的银行卡卡号(YES 为合法) - (BOOL) checkCardNo:(NSString*) cardNo;  判断银行卡卡号输入的合法性接口 #pragma mark ---——————————————————————————判断银行卡卡号输入的合法性---—————————————————————————— - (BOOL) checkCardNo:(NSString*) cardNo{ int oddsum

拍照识别银行卡卡号

#import "ViewController.h" #import "CardIO.h" @interface ViewController ()<CardIOPaymentViewControllerDelegate> @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIButton * btn = [UIButton buttonWithT

银行卡卡号验证

<html> <head> <script type="text/javascript">     function checkLen(x,y) { if(y.length==x.maxLength) { var next = x.tabIndex; if(next<document.getElementById("bank").length) { document.getElementById("bank&quo

银行卡卡号识别:C#版本和iOS版本

(一)图像采集 首先我们要取得待识别的图像.这项工作可以通过数码相机.DV机.工业摄像机.电脑数字摄像头.手机摄像头等设备采集,并从中取得我们要分析的图像信息. (二)版面分析 取得图像信息后,要对图像整体版面进行分析.这一步工作如果使用通用算法进行分析,则效率很低.通常情况下都需要针对不同的识别对象进行专门的分析及设定,才能取得良好的分析效果. 抠出数字???? 倾斜图像校正?? http://www.doc88.com/p-34555054276.html (三)图像灰度化 从采集设备里取得

小程序开发----自定义会员卡卡号和用户领取,以及简单介绍卡券功能和注意事项

前一段时间做项目涉及到这方面的内容,看了技术文档,小程序页面没有详细介绍,要前往微信公众号开发文档,卡券功能是先为微信公众号开发的功能,后来也提供个小程序,文档在小程序中没有过多的介绍,微信文档我就不想过多的吐槽了,大家都懂. 一.会员卡 1.在小程序会员卡,其实也是用到微信公众号的,开始在摸索,在微信公众号管理后台创建会员卡,在小程序中能调用,但会员卡号不能自定义编号,因为管理后创建的,默认是不能自定义编码(use_custom _code=false),一键开卡(wx_activate=tr

基于KMP与Levenshtein模糊匹配算法的银行联行号查询(转)

在人民银行那里,每个银行的每一个营业网点都有自己唯一的银行联行号,根据这个号码能快速定位一间银行具体的分支行,就像根据一个身份证号码能快速确定一个人一样.例如汇款时,汇款单上要求填写收款人开户行,然后银行会把收款人开户行的联行号连其他信息发到人民银行进行清算,这样能保证以最快的速度汇到收款人的手上.如果联行号不准确,那么在汇款的时候会发生分行落地,支行间调拨等操作,影响导致时间,尤其是跨行汇款的时候.一般银行的代收付接口,都会要求提供此参数. 银行联行号一般是根据输入的分支行信息模糊查询出来的,

基于KMP与Levenshtein模糊匹配算法的银行联行号查询

在人民银行那里,每个银行的每一个营业网点都有自己唯一的银行联行号,根据这个号码能快速定位一间银行具体的分支行,就像根据一个身份证号码能快速确定一个人一样.例如汇款时,汇款单上要求填写收款人开户行,然后银行会把收款人开户行的联行号连其他信息发到人民银行进行清算,这样能保证以最快的速度汇到收款人的手上.如果联行号不准确,那么在汇款的时候会发生分行落地,支行间调拨等操作,影响导致时间,尤其是跨行汇款的时候.一般银行的代收付接口,都会要求提供此参数. 银行联行号一般是根据输入的分支行信息模糊查询出来的,