传身份证号码返回生日字符串

代码:

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    NSString *birthDay=[self birthdayStrFromIdentityCard:@"134825194401014241"];
    NSLog(@"--birthDay-%@",birthDay);
}

#pragma -mark -functions

//传身份证返回生日字符串
-(NSString *)birthdayStrFromIdentityCard:(NSString *)numberStr{

    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;

}
时间: 2024-10-26 00:18:42

传身份证号码返回生日字符串的相关文章

【代码笔记】传身份证号码可返回生日字符串

代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. NSString *birthDay=[self birthdayStrFromIdentityCard:@"134825194401014241"]; NSLog(@"--birthDay-%@",birthDay); } //传身份证返回生日字符串 -(NSString

传身份证号码可返回生日字符串

代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. NSString *birthDay=[self birthdayStrFromIdentityCard:@"134825194401014241"]; NSLog(@"--birthDay-%@",birthDay); } //传身份证返回生日字符串 -(NSString

【代码笔记】由身份证号码返回性别

一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. NSString *sex=[self sexStrFromIdentityCard:@"139876456767892345"]; NSLog(@"--sex--%@",sex); } //由身份证号返回为性别 -(NSString *)sexStrFromIdent

由身份证号码返回性别

代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. NSString *sex=[self sexStrFromIdentityCard:@"139876456767892345"]; NSLog(@"--sex--%@",sex); } #pragma -mark -functions //由身份证号返回为性别 -(NSS

C# 根据身份证号码判断出生日期和性别

18位的身份证,前面六位代表了你户籍所在地,第七位到第十四位代表了你的出生年月,第十五位到第十七为代表了你的性别(偶数为女,奇数为男),根据这一信息,我在系统开发的录入员工的身份证后控件焦点转移时根据身份证号码获得生日和性别. 用C#写的代码如下: /// <summary> /// 在控件验证 textBox_IdentityCard 的 Validated事件中定义身份证号码的合法性并根据身份证号码得到生日和性别 /// </summary> private void text

在sql server中使用存储过程验证身份证号码是否合法

在一些人员信息收录的系统中,可能会要求填入人员的身份证号码,但要怎么来验证填入的身份证号码的格式是否合法呢.我们将验证的sql写成一个存储过程,以方便重复调用. 首先我们要清楚我国身份号码的组成规则:1,18位身份证号码的组成:6位地区编码+8位出生年月日+3位编号(奇数代表男,偶数代表女)+1位校验码2,15位身份证号码的组成:6位地区编码+6位出生年月日+3位编号(奇数代表男,偶数代表女) 下面是该存储过程的所有sql -- =================================

Java验证身份证号码及提取生日信息

Java学习第一站,导师给布置的作业题,验证身份证号码的合法性并提取生日信息.第一次写Java代码,第一次用博客记录学习进程,略紧张,对Java变量的命名还停留在C++的命名法阶段,吼吼~~现在开始正题.问题说明:目前,我国大部分地区都使用的是第二代身份证,第二代身份证号码的位数为18位.但公安部没有下发统一的关于停用第一代身份证的文件,第一代身份证中有15位和18位身份证号的混用.15位身份证号码:排列顺序从左至右依次为:6位数字地址码,6位数字出生日期码,3位数字顺序码,其中出生日期码不包含

C#根据身份证号码,计算生日、年龄、性别

朋友谈及身份证相关的信息,才了解到原来省份证号码中包含了年龄和性别. 这样在数据库中,就不必单独留字段存放它们了(不过,要根据具体情况来,要是读取频率较高,还是单独列出为好),这样顺带解决了年龄变更的问题. 程序仅仅为了实现这个功能,里面还是需要数据验证的,用户输入的信息,毕竟在猿类看来,都是“非法的”.废话不多说了,贴上我写的程序,还请路过的大神斧正: using System; using System.Collections.Generic; using System.Linq; usin

php提取身份证号码中的生日日期以及验证是否为未成年人的函数

php 提取身份证号码中的生日日期以及确定是否成年的一个函数.可以同时确定15位和18位的身份证,经本人亲测,非常好用,分享函数代码如下: <?php //用php从身份证中提取生日,包括15位和18位身份证 function getIDCardInfo($IDCard){ $result['error']=0;//0:未知错误,1:身份证格式错误,2:无错误 $result['flag']='';//0标示成年,1标示未成年 $result['tdate']='';//生日,格式如:2012-