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

释放双眼,带上耳机,听听看~!
//根据身份证号码转换成生日

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

    //    if(EMPTY_NIL_STR(numberStr))

    //        return nil;

    NSMutableString *result = [NSMutableStringstringWithCapacity: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!='') {

            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!='') {

            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;




    }

}


 

人已赞赏
iOS文章

iOS时间与时间戳的相互转换

2020-4-30 22:18:10

iOS文章

iOS 手势滑动返回功能

2020-4-30 23:33:02

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索