由身份证号码返回性别

举报
清雨小竹 发表于 2022/10/24 13:34:22 2022/10/24
【摘要】 - (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view. NSString *sex=[self sexStrFromIdentityCard:@"139876456767892345"]; NSLog(@"--sex--%@",se...
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    NSString *sex=[self sexStrFromIdentityCard:@"139876456767892345"];
    NSLog(@"--sex--%@",sex);
    
}
//由身份证号返回为性别
-(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;
    
    
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。