• 提取身份证号中的生日、性别


    调用方法 把身份证字符串传进来 可返回生日数字
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    -(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;
         
        //**截取前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;
         
    }
    把身份证号码的字符串传进来通过数据返回性别
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    -(NSString *)sexStrFromIdentityCard:(NSString *)numberStr{
        NSString *result = nil;
         
        BOOL isAllNumber = YES;
         
        if([numberStr length]<17)
            return result;
         
        //**截取第17为性别识别符
        NSString *fontNumer = [numberStr substringWithRange:NSMakeRange(16, 1)];
         
        //**检测是否是数字;
        const char *str = [fontNumer UTF8String];
        const char *p = str;
        while (*p!='0') {
            if(!(*p>='0'&&*p<='9'))
                isAllNumber = NO;
            p++;
        }
         
        if(!isAllNumber)
            return result;
         
        int sexNumber = [fontNumer integerValue];
        if(sexNumber%2==1)
            result = @"男";
        ///result = @"M";
        else if (sexNumber%2==0)
            result = @"女";
        //result = @"F";
         
        return result;
         
         
    }
  • 相关阅读:
    Eclipse编译 make: arm-linux-gcc:命令未找到
    ubuntu如何启用root帐号
    jlinkV8指示灯不亮 usb无法识别的问题。
    Normal Equation Algorithm求解多元线性回归的Octave仿真
    Normal Equation Algorithm
    一维高斯分布与多维高斯分布
    Locally weighted regression algorithm
    Linear Regression and Gradient Descent
    导数与偏导数 Derivative and Partial Derivative
    向量的内积、长度和正交性
  • 原文地址:https://www.cnblogs.com/ranger-jlu/p/3877838.html
Copyright © 2020-2023  润新知