银行卡号自动识别

1、CardIO识别

1.1 、CaedIO SDK下载

下载地址

1.2、使用方法

1、把框架整个拉进自己的工程,然后在 TARGETS => Build Phases => Link Binary With Libraries 里边分别加入下面这几个框架。

Accelerate.framework
MobileCoreServices.framework
CoreMedia.framework
AudioToolbox.framework
AVFoundation.framework

2、在TARGETS => Build Settings => Other Linker Flags 中添加 -ObjC 和 -lc++ 。

3、在 iOS8 + 系统中使用相机需要在 Info.plist 中添加 Privacy - Camera Usage Description,并设置其值。

4、在我们需要调用的文件中导入

1  // 导入头文件
2 #import "CardIO.h"
3 #import "CardIOPaymentViewControllerDelegate.h
4
5 // 遵守协议
6 <CardIOPaymentViewControllerDelegate>

1.3、主要方法

1、开始扫描银行卡

1 [CardIOUtilities preload];
2
3 CardIOPaymentViewController *scanViewController = [[CardIOPaymentViewController alloc] initWithPaymentDelegate:self];
4
5 [self presentViewController:scanViewController animated:YES completion:nil];

2、取消扫描

 1 // CardIOPaymentViewControllerDelegate 协议方法
 2 - (void)userDidCancelPaymentViewController:(CardIOPaymentViewController *)paymentViewController {
 3
 4 [[[UIAlertView alloc] initWithTitle:@"User cancelled sca"
 5                                     message:nil
 6                                    delegate:nil
 7                           cancelButtonTitle:@"确定" otherButtonTitles:nil, nil] show];
 8
 9 [self dismissViewControllerAnimated:YES completion:nil];
10 }

3、完成扫描

 1  // CardIOPaymentViewControllerDelegate 协议方法
 2     - (void)userDidProvideCreditCardInfo:(CardIOCreditCardInfo *)cardInfo inPaymentViewController:(CardIOPaymentViewController *)paymentViewController {
 3
 4         // 获取扫描结果
 5
 6         // cardNumber 是扫描的银行卡号,显示的是完整号码,而 redactedCardNumber 只显示银行卡后四位,前面的用 * 代替了,返回的银行卡号都没有空格
 7
 8         NSString *redactedCardNumber = cardInfo.cardNumber;     // 卡号
 9         NSUInteger expiryMonth = cardInfo.expiryMonth;          // 月
10         NSUInteger expiryYear = cardInfo.expiryYear;            // 年
11         NSString *cvv = cardInfo.cvv;                           // CVV 码
12
13         // 显示扫描结果
14         NSString *msg = [NSString stringWithFormat:@"Number: %@\n\n expiry: %02lu/%lu\n\n cvv: %@", [self dealCardNumber:redactedCardNumber], expiryMonth, expiryYear, cvv];
15         [[[UIAlertView alloc] initWithTitle:@"Received card info" message:msg  delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil] show];
16
17         [self dismissViewControllerAnimated:YES completion:nil];
18     }

4、银行卡信息处理

 1 // 对银行卡号进行每隔四位加空格处理,自定义方法
 2     - (NSString *)dealCardNumber:(NSString *)cardNumber {
 3
 4         NSString *strTem = [cardNumber stringByReplacingOccurrencesOfString:@" " withString:@""];
 5         NSString *strTem2 = @"";
 6
 7         if (strTem.length % 4 == 0) {
 8
 9             NSUInteger count = strTem.length / 4;
10             for (int i = 0; i < count; i++) {
11                 NSString *str = [strTem substringWithRange:NSMakeRange(i * 4, 4)];
12                 strTem2 = [strTem2 stringByAppendingString:[NSString stringWithFormat:@"%@ ", str]];
13             }
14
15         } else {
16
17             NSUInteger count = strTem.length / 4;
18             for (int j = 0; j <= count; j++) {
19
20                 if (j == count) {
21                     NSString *str = [strTem substringWithRange:NSMakeRange(j * 4, strTem.length % 4)];
22                     strTem2 = [strTem2 stringByAppendingString:[NSString stringWithFormat:@"%@ ", str]];
23                 } else {
24                     NSString *str = [strTem substringWithRange:NSMakeRange(j * 4, 4)];
25                     strTem2 = [strTem2 stringByAppendingString:[NSString stringWithFormat:@"%@ ", str]];
26                 }
27             }
28         }
29
30         return strTem2;
31     }
时间: 2024-08-25 20:36:22

银行卡号自动识别的相关文章

类似支付宝扫描识别银行卡号的技术

类似支付宝扫描识别银行卡号的技术 新关键词:银行卡扫描识别,扫描银行卡卡号识别,银行卡号识别SDK,银行卡OCR识别 新银行卡扫描识别技术的应用背景 实际测试中手动输入16—19位银行卡号码,速度慢,易出错,用户体验非常差.为了提高在移动终端上输入银行卡号的速度和准确性,北京文通科技有限公司结合银行.保险.金融P2P及第三方支付等行业对自动识别银行卡号的迫切需求,推出银行卡号识别SDK,各类APP只需集成银行卡识别SDK后,便可自动识别银行卡号. 二.银行卡识别产品介绍 文通银行卡号识别SDK可

PHP实现根据银行卡号判断银行

之前用手机支付宝转账的时候就发现了这一功能,输入卡号,自动识别银行并输出,之前觉得 哇!好神奇啊!最近,要写一个东西,正好需要采集银行卡和银行卡号信息,用select太麻烦,太多,费时费力还未必写的全,而且用户体验会很差,所以就想到了这个.网上找了一下资料,居然找到了,然后调整一下,就完成了. 附 参考网址:http://www.jb51.net/article/65178.htm PHP页面代码: <div> <div>银行卡号:<input id="card&q

ios webview禁止自动识别日期

http://www.oschina.net/question/214196_226763 如题,ios中webview的网页中的诸如 “3月1号 或 0:00” 等日期字眼会被自动识别为日期,导致样式错误,怎么禁止? 解决办法:   用<a>标签包裹一下.

iOS 数字格式化(手机号码 银行卡号 格式化,验证码输入控制)

需求 手机号号码 15288888888  ------->152 8888 8888  银行卡号 8888888888888888888 ----->8888 8888 8888 8888 888 实现 在UITextFiled输入时候就实现号码格式化 在UITextField代理方法 shouldChangeCharactersInRange 实现即可,可以写法分类 就可以全局使用,方便快捷 NSString *text = [textFieldtext]; // 只能输入数字 NSCha

zabbix通过自动发现功能实现自动识别网络设备接口

由于之前网络设备不是很多,监控网络设备接口就直接使用模版中的item来实现了,可是现在公司上线了一大批网络设备,如果要每个网络设备都做模板,添加item......那就该废了,于是迫于压力今天来测试使用zabbix的自动发现功能实现自动发现网络设备接口,并且自动获取接口的流量值,生成流量图等功能. 这样的话就能节省大量时间,时间就是生命啊,把时间浪费在枯燥的添加网络接口的工作上就是在浪费生命!好了,废话不多说,进入正题: 首先,在交换机上面配置好snmp协议,为了简单,这里目前使用的是snmp

WebApp之Meta标签 (关闭自动识别数字为电话号码或邮箱之类)

iPhone上的Safari(还有些webkit android手机浏览器)会自动对看起来像是电话号码的数字串(包括已经加入连字符或括号格式化过的)添加电话链接,点击之后会询问用户是否想要拨打该号码.如果你不希望开启这个自动识别,可以将它关闭: <meta name="format-detection" content="telephone=no" /> 如果你关闭自动识别后,又希望某些电话号码能够链接到iPhone的拨号功能,那么可以通过这样来声明电话

分行模块,自动识别英文和型号数[推荐精华]

Function cuttextlen(intext, lens) If Len(intext) <= lens Then cuttextlen = intext Else tmptext = intext GetTexts = "" Do While Not Len(tmptext) <= lens GetTexts = GetTexts + Left(tmptext, lens) tmptext = Right(tmptext, Len(tmptext) - lens)

校验银行卡号

1.先引入jquery.js 2.接着引入luhmCheck.js //银行卡号Luhm校验 3.看下面的案例: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml&q

使用UITextField自动格式化银行卡号

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSString *text = [textField text]; NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:@"01234