iOS身份证号判断
来源:互联网 发布:淘宝如何好评返现 编辑:程序博客网 时间:2024/06/05 21:53
-(BOOL)validationTrue:(NSString *)idNum
{
BOOL flag;
NSString *regex2 =@"^(^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$)|(^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])((\\d{4})|\\d{3}[Xx])$)$";
NSPredicate *identityCardPredicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",regex2];
flag = [identityCardPredicate evaluateWithObject:idNum];
if(flag)
{
if(idNum.length==18)
{
NSArray * idCardWiArray =@[@"7",@"9", @"10",@"5", @"8",@"4", @"2",@"1", @"6",@"3", @"7",@"9", @"10",@"5", @"8",@"4", @"2"];
NSArray * idCardYArray =@[@"1",@"0", @"10",@"9", @"8",@"7", @"6",@"5", @"4",@"3", @"2"];
NSInteger idCardWiSum =0;
for(int i =0;i < 17;i++)
{
NSInteger subStrIndex = [[idNumsubstringWithRange:NSMakeRange(i,1)] integerValue];
NSInteger idCardWiIndex = [[idCardWiArrayobjectAtIndex:i] integerValue];
idCardWiSum+= subStrIndex * idCardWiIndex;
}
NSInteger idCardMod=idCardWiSum%11;
NSString * idCardLast= [idNumsubstringWithRange:NSMakeRange(17,1)];
if(idCardMod==2)
{
if([idCardLastisEqualToString:@"X"]||[idCardLastisEqualToString:@"x"])
{
return flag;
}else
{
flag = NO;
return flag;
}
}else
{
if([idCardLastisEqualToString: [idCardYArrayobjectAtIndex:idCardMod]])
{
return flag;
}
else
{
flag = NO;
return flag;
}
}
}
else
{
flag = NO;
return flag;
}
}
else
{
return flag;
}
}
- IOS 判断手机号 身份证号
- iOS身份证号判断
- iOS开发判断身份证号是否合法
- IOS中判断身份证号的正则表达式
- iOS开发判断是否是身份证号
- iOS开发——手机号,密码,邮箱,身份证号,中文判断
- 《iOS学习笔记—— 身份证号认证判断》
- 判断身份证号正确
- js判断身份证号
- 判断身份证号是否合法
- 根据身份证号判断年龄
- js 方法-判断身份证号
- ios身份证号正则
- iOS判断邮箱,手机号,车牌号,车型,用户名,密码,昵称,身份证号,是否有效
- 利用正则表达式判断身份证号
- 利用正则表达式判断身份证号
- 利用正则表达式判断身份证号
- 利用正则表达式判断身份证号
- SlidingMenu使用方法和常用的一些属性设置
- 纯css3制作的太阳地球月亮效果
- poj 1753 Flip Game(枚举,bfs)(简单)
- android httpClient(https/http)的优化构建方式一
- Source Insight 常用设置和快捷键大全
- iOS身份证号判断
- 准确率与召回率
- Rx 生命周期 管理
- JavaScript笔记6--JS跨域消息传递
- Class.getGenericSuperclass
- 非递归 做八皇后问题--利用遍历函数(next_permetation)
- 使用GDB调试Android NDK native(C/C++)程序
- mysql两个时间相减
- Codeforces #669 Div2 E. Little Artem and Time Machine(离线、优先队列)