码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-12-18 10:22:23      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

代码:

技术分享
- (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

 

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

标签:

原文地址:http://www.cnblogs.com/yang-guang-girl/p/5056070.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!