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 相关文章推荐
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
Oct 09 PHP
php中批量替换文件名的实现代码
Jul 20 PHP
MySQL时间字段究竟使用INT还是DateTime的说明
Feb 27 PHP
解析如何去掉CodeIgniter URL中的index.php
Jun 25 PHP
PHP判断数据库中的记录是否存在的方法
Nov 14 PHP
php准确获取文件MIME类型的方法
Jun 17 PHP
php常用图片处理类
Mar 16 PHP
PHP构造函数与析构函数用法示例
Sep 28 PHP
zend框架实现支持sql server的操作方法
Dec 08 PHP
PHP快速推送微信模板消息
Apr 14 PHP
PHP中的正则表达式实例详解
Apr 25 PHP
php对象工厂类完整示例
Aug 09 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
Phpbean路由转发的php代码
2008/01/10 PHP
php用正则表达式匹配中文实例详解
2013/11/06 PHP
jQuery 入门讲解1
2009/04/15 Javascript
用js调用迅雷下载代码的二种方法
2013/04/15 Javascript
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
javascript表单处理具体实现代码(表单、链接、按钮)
2016/05/07 Javascript
模板视图和AngularJS之间冲突的解决方法
2016/11/22 Javascript
js canvas实现QQ拨打电话特效
2017/05/10 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
vue数据控制视图源码解析
2018/03/28 Javascript
13 个npm 快速开发技巧(推荐)
2019/07/04 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
js+canvas实现五子棋小游戏
2020/08/02 Javascript
[03:02]生活中的Dendi之野外度假篇
2016/08/09 DOTA
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
windows10系统中安装python3.x+scrapy教程
2016/11/08 Python
利用Python如何生成便签图片详解
2018/07/09 Python
如何用Lucene索引数据库
2016/02/23 面试题
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中
2015/06/22 面试题
十八大报告观后感
2014/01/28 职场文书
市场营销专业毕业生求职信
2014/03/26 职场文书
文秘应届生求职信
2014/07/05 职场文书
项目申请汇报材料
2014/08/16 职场文书
关于保护环境的建议书
2014/08/26 职场文书
防灾减灾活动总结
2014/08/30 职场文书
2014年社区综治工作总结
2014/11/17 职场文书
活动经费申请报告
2015/05/15 职场文书
运动会口号霸气押韵
2015/12/24 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
python实现层次聚类的方法
2021/11/01 Python
Window server中安装Redis的超详细教程
2021/11/17 Redis
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript