php提取身份证号码中的生日日期以及验证是否为成年人的函数


Posted in PHP onSeptember 29, 2015

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

PHP 相关文章推荐
PHP中使用gettext来支持多语言的方法
May 02 PHP
file_get_contents获取不到网页内容的解决方法
Mar 07 PHP
解决File size limit exceeded 错误的方法
Jun 14 PHP
php递归函数中使用return的注意事项
Jan 17 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
Aug 22 PHP
PHP中mysqli_affected_rows作用行数返回值分析
Dec 26 PHP
php实现异步数据调用的方法
Dec 24 PHP
ucenter中词语过滤原理分析
Jul 13 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
php 后端实现JWT认证方法示例
Sep 04 PHP
Laravel框架处理用户的请求操作详解
Dec 20 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 PHP
PHP类的封装与继承详解
Sep 29 #PHP
PHP比较运算符的详细介绍
Sep 29 #PHP
php提高网站效率的技巧
Sep 29 #PHP
四个PHP非常实用的功能
Sep 29 #PHP
PHP实现二叉树的深度优先与广度优先遍历方法
Sep 28 #PHP
PHP+AJAX实现投票功能的方法
Sep 28 #PHP
WIFI万能钥匙密码查询接口实例
Sep 28 #PHP
You might like
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
领悟php接口中interface存在的意义
2013/06/27 PHP
请离开include_once和require_once
2013/07/18 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
使用React实现轮播效果组件示例代码
2016/09/05 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
viewer.js实现图片预览功能
2020/06/24 Javascript
Vue指令实现OutClick的示例
2020/11/16 Javascript
Python open()文件处理使用介绍
2014/11/30 Python
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
python脚本监控docker容器
2016/04/27 Python
Python中__init__.py文件的作用详解
2016/09/18 Python
基于python socketserver框架全面解析
2017/09/21 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
python、Matlab求定积分的实现
2019/11/20 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
学python最电脑配置有要求么
2020/07/05 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
自荐信怎么写呢?
2013/12/09 职场文书
酒店司机岗位职责
2013/12/14 职场文书
实习生的自我评价
2014/01/08 职场文书
学校出纳员岗位职责
2014/03/18 职场文书
单方离婚协议书范本(2014版)
2014/09/30 职场文书
学习十八届四中全会精神思想汇报
2014/10/23 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python
yolov5返回坐标的方法实例
2022/03/17 Python