php提取身份證號碼中的生日日期以及驗證是否為成年人的函數
更新時間:2015年09月29日 15:43:09 投稿:mrr
本篇文章使用php技術提取身份證號碼中的生日日期來判斷是否是未成年人的一個函數。下面小編把代碼分享給大家,供大家參考
php 提取身份證號碼中的生日日期以及確定是否成年的一個函數。可以同時確定15位和18位的身份證,經本人親測,非常好用,分享函數代碼如下:
<?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提取身份證號碼中的生日日期以及驗證是否為成年人的函數,希望對大家有用。
相關文章
laravel Validator ajax返回錯誤信息的方法
今天小編就為大家分享一篇laravel Validator ajax返回錯誤信息的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
php中simplexml_load_string使用實例分享
這篇文章主要介紹了php中simplexml_load_string使用實例,需要的朋友可以參考下2014-02-02
php中header跳轉使用include包含解決參數丟失問題
在一個項目中遇到的問題,當用戶登錄成功時,用header跳轉到首頁,一直都是錯,無法跳到你要的頁面。最終度娘了許久才找到解決方法,這里分享給大家。2015-05-05

