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 JSON 数据解析代码
May 26 PHP
php Static关键字实用方法
Jun 04 PHP
php全局变量和类配合使用深刻理解
Jun 05 PHP
解析coreseek for sphinx的使用
Jun 21 PHP
php图像处理类实例
Jul 28 PHP
使用PHP实现生成HTML静态页面
Nov 18 PHP
php打包网站并在线压缩为zip
Feb 13 PHP
PHP实现JS中escape与unescape的方法
Jul 11 PHP
laravel框架关于搜索功能的实现
Mar 15 PHP
为何说PHP引用是个坑,要慎用
Apr 02 PHP
Yii2.0建立公共方法简单示例
Jan 29 PHP
php+redis实现消息队列功能示例
Sep 19 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
php中取得URL的根域名的代码
2011/03/23 PHP
PHP判断指定时间段的2个方法
2014/03/14 PHP
PHP模块化安装教程
2016/06/01 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
PHP格式化显示时间date()函数代码
2018/10/03 PHP
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
用iframe实现不刷新整个页面上传图片的实例
2016/11/18 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
Vue2.0表单校验组件vee-validate的使用详解
2017/05/02 Javascript
关于foreach循环中遇到的问题小结
2017/05/08 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
D3.js实现拓扑图的示例代码
2018/06/30 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
Vue-cli@3.0 插件系统简析
2018/09/05 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
python中os和sys模块的区别与常用方法总结
2017/11/14 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
python 魔法函数实例及解析
2019/09/25 Python
Pytorch 实现权重初始化
2019/12/31 Python
Python库安装速度过慢解决方案
2020/07/14 Python
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
2013/01/30 HTML / CSS
HTML5操作WebSQL数据库的实例代码
2017/08/26 HTML / CSS
土耳其家居建材网站:Koçtaş
2016/11/22 全球购物
皇家阿尔伯特英国官方商店:Royal Albert骨瓷
2019/03/25 全球购物
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
是否有自动比较结构的方法
2015/06/03 面试题
应聘会计求职信
2014/06/11 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
领导离职感言
2015/08/03 职场文书
《跨越海峡的生命桥》教学反思
2016/02/18 职场文书
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL
Python字典的基础操作
2021/11/01 Python