IOS判断是否有效银行卡号
来源:互联网 发布:英雄800和英雄100知乎 编辑:程序博客网 时间:2024/05/17 04:59
+ (BOOL) isValidCreditNumber:(NSString*)value { BOOL result = NO; NSInteger length = [value length]; if (length >= 13) { result = [WTCreditCard isValidNumber:value]; if (result) { NSInteger twoDigitBeginValue = [[value substringWithRange:NSMakeRange(0, 2)] integerValue]; //VISA if([WTCreditCard isStartWith:value Str:@"4"]) { if (13 == length||16 == length) { result = TRUE; }else { result = NO; } } //MasterCard else if(twoDigitBeginValue >= 51 && twoDigitBeginValue <= 55 && length == 16) { result = TRUE; } //American Express else if(([WTCreditCard isStartWith:value Str:@"34"]||[WTCreditCard isStartWith:value Str:@"37"]) && length == 15){ result = TRUE; } //Discover else if([WTCreditCard isStartWith:value Str:@"6011"] && length == 16) { result = TRUE; }else { result = FALSE; } } if (result) { NSInteger digitValue; NSInteger checkSum = 0; NSInteger index = 0; NSInteger leftIndex; //even length, odd index if (0 == length%2) { index = 0; leftIndex = 1; } //odd length, even index else { index = 1; leftIndex = 0; } while (index < length) { digitValue = [[value substringWithRange:NSMakeRange(index, 1)] integerValue]; digitValue = digitValue*2; if (digitValue >= 10) { checkSum += digitValue/10 + digitValue%10; } else { checkSum += digitValue; } digitValue = [[value substringWithRange:NSMakeRange(leftIndex, 1)] integerValue]; checkSum += digitValue; index += 2; leftIndex += 2; } result = (0 == checkSum%10) ? TRUE:FALSE; } }else { result = NO; } return result;}
0 0
- IOS判断是否有效银行卡号
- IOS判断是否有效银行卡号
- 判断银行卡号是否有效
- 判断银行卡号是否正确
- iOS 银行卡号合法性判断
- 判断是否是银行卡
- iOS 正则表达式判断身份证格式以及银行卡号格式是否正确
- iOS — 判断NSString是否有效
- iOS-根据银行卡号判断银行名称
- iOS 根据银行卡号判断银行名称
- 银行卡卡号是否正确判断(实战)
- 判断时间段是否有效
- 判断句柄是否有效
- 判断金额是否有效
- 判断session是否有效
- 判断socket是否有效
- 判断指针是否有效
- js判断银行卡号
- 设置ListView的分割线及分割线的高度
- mui.ajax与服务器(SpringMVC)传输json数据
- 第4章 作用域
- 第六章 表达式
- 第5章 首次登录与在线求助man page
- IOS判断是否有效银行卡号
- 第6章 Linux的文件权限与目录配置
- 解决android源码repo更新时出现的UnicodeDecodeError 问题
- 第7章 Linux文件与目录管理
- volatile,extern,struct,union,enum
- 磁盘分区、目录树和文件系统
- 第8章 Linux磁盘与文件系统管理
- android 使用软键盘的一些技巧
- 分数序列