黑马程序员技术交流社区

标题: 传身份证号码可返回生日字符串 [打印本页]

作者: zwcshy    时间: 2014-12-3 09:49
标题: 传身份证号码可返回生日字符串
  1. -(NSString *)birthdayStrFromIdentityCard:(NSString *)numberStr{
  2.    
  3.     if(numberStr.length == 0)
  4.         return nil;
  5.     NSMutableString *result = [NSMutableString stringWithCapacity:0];
  6.     NSString *year = nil;
  7.     NSString *month = nil;
  8.    
  9.     BOOL isAllNumber = YES;
  10.     NSString *day = nil;
  11.     if([numberStr length]<14)
  12.         return result;
  13.    
  14.     //**截取前14位
  15.     NSString *fontNumer = [numberStr substringWithRange:NSMakeRange(0, 13)];
  16.    
  17.     //**检测前14位否全都是数字;
  18.     const char *str = [fontNumer UTF8String];
  19.     const char *p = str;
  20.     while (*p!='\0') {
  21.         if(!(*p>='0'&&*p<='9'))
  22.             isAllNumber = NO;
  23.         p++;
  24.     }
  25.    
  26.     if(!isAllNumber)
  27.         return result;
  28.    
  29.     year = [numberStr substringWithRange:NSMakeRange(6, 4)];
  30.     month = [numberStr substringWithRange:NSMakeRange(10, 2)];
  31.     day = [numberStr substringWithRange:NSMakeRange(12,2)];
  32.    
  33.     [result appendString:year];
  34.     [result appendString:@"-"];
  35.     [result appendString:month];
  36.     [result appendString:@"-"];
  37.     [result appendString:day];
  38.     return result;
  39.    
  40. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2