代码:
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. NSString *birthDay=[self birthdayStrFromIdentityCard:@"134825194401014241"]; NSLog(@"--birthDay-%@",birthDay); } //传身份证返回生日字符串 -(NSString *)birthdayStrFromIdentityCard:(NSString *)numberStr{ NSMutableString *result = [NSMutableString stringWithCapacity:0]; NSString *year = nil; NSString *month = nil; BOOL isAllNumber = YES; NSString *day = nil; if([numberStr length]<14) return result; //**截取前14位 NSString *fontNumer = [numberStr substringWithRange:NSMakeRange(0, 13)]; //**检测前14位否全都是数字; const char *str = [fontNumer UTF8String]; const char *p = str; while (*p!=‘\0‘) { if(!(*p>=‘0‘&&*p<=‘9‘)) isAllNumber = NO; p++; } if(!isAllNumber) return result; year = [numberStr substringWithRange:NSMakeRange(6, 4)]; month = [numberStr substringWithRange:NSMakeRange(10, 2)]; day = [numberStr substringWithRange:NSMakeRange(12,2)]; [result appendString:year]; [result appendString:@"-"]; [result appendString:month]; [result appendString:@"-"]; [result appendString:day]; return result; }
输出:
2015-10-13 13:26:38.308 传身份证号码可返回生日字符串[6947:172533] --birthDay-1944-01-01
时间: 2024-10-24 17:51:31