zoukankan      html  css  js  c++  java
  • 提取身份证号中的生日、性别

    调用方法 把身份证字符串传进来 可返回生日数字
    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;
         
         
    }
  • 相关阅读:
    简识UML语言(转)
    很好的理解遗传算法的样例
    strtok和strtok_r
    HDU 11488 Hyper Prefix Sets (字符串-Trie树)
    深入浅出JMS(一)——JMS简单介绍
    CSS3学习----选择器、字体
    消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ
    【LeetCode】Sum Root to Leaf Numbers
    选择用户-显示已选用户
    ajax异步通讯 遮罩滚动栏,防止并发及误操作
  • 原文地址:https://www.cnblogs.com/ranger-jlu/p/3877838.html
Copyright © 2011-2022 走看看