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

来源:互联网 发布:杨君优化人生全本 编辑:程序博客网 时间:2024/06/10 09:53

代码:

复制代码
- (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

 

0 0
原创粉丝点击