【代码笔记】iOS-传身份证号码可返回生日字符串

代码:

【代码笔记】iOS-传身份证号码可返回生日字符串
- (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; }
【代码笔记】iOS-传身份证号码可返回生日字符串

输出:

2015-10-13 13:26:38.308 传身份证号码可返回生日字符串[6947:172533] --birthDay-1944-01-01
上一篇:Android和iOS常用命令学习(真机)


下一篇:Git TortoiseGit SSH设置