使用php实现从身份证中提取生日


Posted in PHP onMay 09, 2016

用php从身份证中提取生日,包括15位和18位身份证

function getIDCardInfo($IDCard,$format=1){ 
 $result['error']=0;//0:未知错误,1:身份证格式错误,2:无错误 
 $result['flag']='';//0标示成年,1标示未成年 
 $result['tdate']='';//生日,格式如:2012-11-15 
 if(!preg_match("/^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/",$IDCard)){ 
  $result['error']=1; 
  return $result; 
 }else{ 
  if(strlen($IDCard)==18)
  { 
   $tyear=intval(substr($IDCard,6,4)); 
   $tmonth=intval(substr($IDCard,10,2)); 
   $tday=intval(substr($IDCard,12,2)); 
  }
  elseif(strlen($IDCard)==15)
  { 
   $tyear=intval("19".substr($IDCard,6,2)); 
   $tmonth=intval(substr($IDCard,8,2)); 
   $tday=intval(substr($IDCard,10,2)); 
  }
   
  if($tyear>date("Y")||$tyear<(date("Y")-100))
  { 
    $flag=0; 
   }
   elseif($tmonth<0||$tmonth>12)
   { 
    $flag=0; 
   }
   elseif($tday<0||$tday>31)
   { 
    $flag=0; 
   }else
   { 
    if($format)
    {
     $tdate=$tyear."-".$tmonth."-".$tday; 
    }
    else
    {
     $tdate=$tmonth."-".$tday; 
    }
     
    if((time()-mktime(0,0,0,$tmonth,$tday,$tyear))>18*365*24*60*60)
    { 
     $flag=0; 
    }
    else
    { 
     $flag=1; 
    } 
   }  
 } 
 $result['error']=2;//0:未知错误,1:身份证格式错误,2:无错误 
 $result['isAdult']=$flag;//0标示成年,1标示未成年 
 $result['birthday']=$tdate;//生日日期 
 return $result; 
}
PHP 相关文章推荐
教你IIS6的PHP最佳配置方法
Sep 05 PHP
PHP HTML代码串截取代码
Dec 29 PHP
php开发环境配置记录
Jan 14 PHP
让PHP更快的提供文件下载的代码
Jun 13 PHP
php数据类型判断函数有哪些
Sep 23 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
Feb 13 PHP
php将csv文件导入到mysql数据库的方法
Dec 24 PHP
php中使用url传递数组的方法
Feb 11 PHP
PHP超牛逼无限极分类生成树方法
May 11 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
May 16 PHP
php装饰者模式简单应用案例分析
Oct 23 PHP
Laravel框架源码解析之模型Model原理与用法解析
May 14 PHP
PHP使用内置函数生成图片的方法详解
May 09 #PHP
php时间计算相关问题小结
May 09 #PHP
php数据访问之查询关键字
May 09 #PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 #PHP
php数据访问之增删改查操作
May 09 #PHP
php简单实现批量上传图片的方法
May 09 #PHP
php简单备份与还原MySql的方法
May 09 #PHP
You might like
简单的php 验证图片生成函数
2009/05/21 PHP
php生成word并下载代码实例
2019/03/15 PHP
JS getStyle获取最终样式函数代码
2010/04/01 Javascript
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
2011/02/23 Javascript
{}与function(){}选用空对象{}来存放keyValue
2012/05/23 Javascript
ie8 不支持new Date(2012-11-10)问题的解决方法
2013/07/31 Javascript
JS实现DIV容器赋值的方法
2015/12/14 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
不同js异步函数同步的实现方法
2016/05/28 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
2016/10/24 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
VUE中使用HTTP库Axios方法详解
2020/02/05 Javascript
[05:17]DOTA2睡衣妹卖萌求签名 CJ第二天全明星影像
2013/07/28 DOTA
Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
2014/06/04 Python
python中django框架通过正则搜索页面上email地址的方法
2015/03/21 Python
Python函数可变参数定义及其参数传递方式实例详解
2015/05/25 Python
Python实现压缩和解压缩ZIP文件的方法分析
2017/09/28 Python
python计算无向图节点度的实例代码
2019/11/22 Python
Python之Class&amp;Object用法详解
2019/12/25 Python
python微信公众号开发简单流程实现
2020/03/09 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
HTML5语音识别标签写法附图
2013/11/18 HTML / CSS
洛杉矶生活休闲而精致的基础品牌:Mika Jaymes
2018/01/07 全球购物
校领导推荐信
2013/11/01 职场文书
市场营销专业推荐信
2013/11/03 职场文书
司机职责范本
2014/03/08 职场文书
质量安全标语
2014/06/07 职场文书
工作能力自我评价2015
2015/03/05 职场文书
2015政治思想表现评语
2015/03/25 职场文书
素质教育学习心得体会
2016/01/19 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
《七月的天山》教学反思
2016/02/19 职场文书
基于Python实现nc批量转tif格式
2022/08/14 Python