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 相关文章推荐
4.与数据库的连接
Oct 09 PHP
文章推荐系统(三)
Oct 09 PHP
php 按指定元素值去除数组元素的实现方法
Nov 04 PHP
smarty中英文多编码字符截取乱码问题解决方法
Oct 28 PHP
PHP使用xmllint命令处理xml与html的方法
Dec 15 PHP
php简单压缩css样式示例
Sep 22 PHP
PHP错误和异常处理功能模块示例
Nov 12 PHP
php获取网站根目录物理路径的几种方法(推荐)
Mar 04 PHP
PHP简单实现遍历目录下特定文件的方法小结
May 22 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
May 28 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
Apr 09 PHP
php探针不显示内存解决方法
Sep 17 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 和 HTML
2006/10/09 PHP
Prototype使用指南之array.js
2007/01/10 Javascript
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
2012/05/23 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
2014/10/31 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
js控制TR的显示隐藏
2016/03/04 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
2016/04/06 Javascript
对Js OOP编程 创建对象的一些全面理解
2016/07/26 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
vue.js父组件使用外部对象的方法示例
2017/04/25 Javascript
vue.js移动端app实战1:初始配置详解
2017/07/24 Javascript
微信小程序onLaunch异步,首页onLoad先执行?
2018/09/20 Javascript
微信小程序使用canvas自适应屏幕画海报并保存图片功能
2019/07/25 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
[01:08:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS LGD-CDEC
2014/05/22 DOTA
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
[01:28:44]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第一场 1月10日
2021/03/11 DOTA
利用Python的Flask框架来构建一个简单的数字商品支付解决方案
2015/03/31 Python
Ubuntu下安装PyV8
2016/03/13 Python
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
python连接PostgreSQL过程解析
2020/02/09 Python
CSS3实现多样的边框效果
2018/05/04 HTML / CSS
2014年大学庆元旦迎新年活动方案
2014/03/09 职场文书
毕业生就业意向书
2014/04/01 职场文书
责任心演讲稿
2014/05/14 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
二手房购房协议书范本
2014/10/05 职场文书
课堂打架检讨书200字
2014/11/21 职场文书
公司食堂管理制度
2015/08/05 职场文书
简历中的自我评价应该这样写!
2019/07/12 职场文书
Nginx的基本概念和原理
2022/03/21 Servers
SQL Server使用导出向导功能
2022/04/08 SQL Server