身份证末尾校验位计算OC
2016-11-25 21:37
309 查看
身份证具体规则请参见身份证编码规则
// 身份证校验,通过计算得出最后一位校验位。结果和输入的最后一位比较,可以用以判断正确与否 NSString *idNum = @"******";//身份证号 // 身份证每一位加权因子 NSArray *wi = @[@7, @9, @10, @5, @8, @4, @2, @1, @6, @3, @7, @9, @10, @5, @8, @4, @2]; // 校验位对照表 NSArray *vi = @[@"1", @"0", @"X", @"9", @"8", @"7", @"6", @"5", @"4", @"3", @"2"]; int i = 0; int sum = 0; do { int num = [[idNum substringWithRange:NSMakeRange(i, 1)] intValue]; sum += (num * [wi[i] intValue]); ++i; } while (i < 17); // 身份证每位与加权因子相乘求和,并求模,与对照表相比 int check = sum % 11; // 得出最终的校验位 NSString *code = [vi objectAtIndex:check]; DLog(@"The Result code is : %@", code);
相关文章推荐
- [PHP]身份证校验位的计算/ISO 7064:1983.MOD 11-2 算法
- 二代身份证号码最后一位校验位的计算方法
- 一个计算身份证号码校验位的Python小程序
- 身份证 15位升级18位 和最后一位校验位计算
- python 身份证校验位计算
- python实现身份证校验位计算
- python实现身份证校验位计算
- python实现身份证校验位计算
- python实现身份证校验位计算
- 神秘常量!用0x077CB531计算末尾0的个数,32位数首位相连
- 计算阶乘n!末尾所含的0的个数
- 用0x077CB531计算末尾0的个数
- 计算N!末尾所包含0的个数
- 算法-计算阶乘n!末尾0的个数
- 生成身份证最后一位校验位
- html 身份证最后一位计算
- js计算字符串长度、汉字校验、去除空格、数字校验、身份证校验的方法
- 【计算连乘积中末尾0的个数】LintCode 尾部的零
- js中如何通过身份证号计算出生日期和年龄