php 提取身份证号码中的生日日期以及确定是否成年的一个函数。可以同时确定15位和18位的身份证,经本人亲测,非常好用,分享函数代码如下:
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
41
42
43
44
45
46
47
48
49
50
51
52
53
|
<?php //用php从身份证中提取生日,包括位和位身份证 function getIDCardInfo( $IDCard ){ $result [ 'error' ]=; //:未知错误,:身份证格式错误,:无错误 $result [ 'flag' ]= '' ; //标示成年,标示未成年 $result [ 'tdate' ]= '' ; //生日,格式如:-- if (! eregi ( "^[-]([-a-zA-Z]{}|[-a-zA-Z]{})$" , $IDCard )){ $result [ 'error' ]=; return $result ; } else { if ( strlen ( $IDCard )==){ $tyear = intval ( substr ( $IDCard ,,)); $tmonth = intval ( substr ( $IDCard ,,)); $tday = intval ( substr ( $IDCard ,,)); if ( $tyear > date ( "Y" )|| $tyear <( date ( "Y" )-)){ $flag =; } elseif ( $tmonth <|| $tmonth >){ $flag =; } elseif ( $tday <|| $tday >){ $flag =; } else { $tdate = $tyear . "-" . $tmonth . "-" . $tday . " ::" ; if ((time()- mktime (,,, $tmonth , $tday , $tyear ))>****){ $flag =; } else { $flag =; } } } elseif ( strlen ( $IDCard )==){ $tyear = intval ( "" . substr ( $IDCard ,,)); $tmonth = intval ( substr ( $IDCard ,,)); $tday = intval ( substr ( $IDCard ,,)); if ( $tyear > date ( "Y" )|| $tyear <( date ( "Y" )-)){ $flag =; } elseif ( $tmonth <|| $tmonth >){ $flag =; } elseif ( $tday <|| $tday >){ $flag =; } else { $tdate = $tyear . "-" . $tmonth . "-" . $tday . " ::" ; if ((time()- mktime (,,, $tmonth , $tday , $tyear ))>****){ $flag =; } else { $flag =; } } } } $result [ 'error' ]=; //:未知错误,:身份证格式错误,:无错误 $result [ 'isAdult' ]= $flag ; //标示成年,标示未成年 $result [ 'birthday' ]= $tdate ; //生日日期 return $result ; } |
用法如下:
getIDCardInfo('身份证号码');
以上代码就是小编跟大家分享的php提取身份证号码中的生日日期以及验证是否为成年人的函数,希望对大家有用。