iOS 填写完身份证后 自动算出 出生日期

//根据身份证号码转换成生日

+(NSString *)birthdayStrFromIdentityCard:(NSString *)numberStr{

    

    //    if(EMPTY_NIL_STR(numberStr))

    //        return nil;

    NSMutableString *result = [NSMutableString stringWithCapacity:0];

    NSString *year = nil;

    NSString *month = nil;

    

    BOOL isAllNumber = YES;

    NSString *day = nil;

    if([numberStr length]<14)

        return result;

    if (numberStr.length == 18) {

        //**截取前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;


    }else{

        NSString *fontNumer = [numberStr substringWithRange:NSMakeRange(0, 11)];

        

        //**检测前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, 2)];

        month = [numberStr substringWithRange:NSMakeRange(8, 2)];

        day = [numberStr substringWithRange:NSMakeRange(10,2)];

        

//        [result appendString:year];

//        [result appendString:@"-"];

//        [result appendString:month];

//        [result appendString:@"-"];

//        [result appendString:day];

        NSString* resultAll = [NSString stringWithFormat:@"19%@-%@-%@",year,month,day];

        return resultAll;


    }

    

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值