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提取身份证号码中的生日日期以及验证是否为成年人的函数,希望对大家有用。