首页 > 代码库 > 传身份证号码可返回生日字符串

传身份证号码可返回生日字符串

 

代码:

- (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;    }

 

输出:

2014-12-02 11:51:24.089 传身份证号码可返回生日字符串[7594:60b] --birthDay-1944-01-01

 

传身份证号码可返回生日字符串