提取身份证号中的生日、性别
调用方法 把身份证字符串传进来 可返回生日数字
|
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; } |
浙公网安备 33010602011771号