通过身份证判断一个人是否成年,主要困难和不注意到的地方,就是不同人18周岁,这18年之间的闰年,导致天数会不一样

    /*** 是否成年* @param $IDCard* @return int 0 成年,1未成年*/public static function is_adult($IDCard){$flag = 0;if(strlen($IDCard)==18){$tyear=intval(substr($IDCard,6,4));$tmonth=intval(substr($IDCard,10,2));$tday=intval(substr($IDCard,12,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{$day_sum = self::full_year_day($tyear,$tmonth,18);if((time()-mktime(0,0,0,$tmonth,$tday,$tyear))>$day_sum*24*60*60){$flag=0;}else{$flag=1;}}}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{$day_sum = self::full_year_day($tyear,$tmonth,18);if((time()-mktime(0,0,0,$tmonth,$tday,$tyear))>$day_sum*24*60*60){$flag=0;}else{$flag=1;}}}return $flag;}/*** n周岁的天数* @param $tyear* @param $tmonth* @return int*/public static function full_year_day($tyear,$tmonth,$type=18){$sum=365*$type;for($i=$tyear+1;$i<$tyear+$type;$i++)//考虑中间年份{if(self::is_leap_year($i))$sum++;}if(self::is_leap_year($tyear)&&$tmonth<=2)//考虑初末两年$sum++;if(self::is_leap_year($tyear+$type)&&$tmonth>=3){$sum++;}return $sum;}/*** @param $year* @return int 1是闰年,0不是闰年*/public static function is_leap_year($year){if(($year%4==0&&$year%100!=0)||$year%400==0)return 1;elsereturn 0;}

php 身份证判断是否成年相关推荐

  1. moment.js根据身份证判断是否成年

    moment.js中允许传入一串字符传然后变成时间格式 话不多说,直接上代码,因为实在uniapp中使用的,因此加了this var birthDay = this.$moment("199 ...

  2. ios 判断数字开头_iOS 判断首字母是否大写 判断身份证 判断纯数字 判断纯汉字...

    对NSArray过滤 NSArray *array = [[NSArray alloc]initWithObjects:@"beijing",@"shanghai&quo ...

  3. python年龄判断,输入年龄,判断是否成年

    age =int(input("please your age?")) if age >18: print('你已成年,都'+str(age)+'岁了') else: pri ...

  4. 输入身份证判断性别python最后一位是英文怎么写_身份证号码最后一位,是表示性别用的吗?...

    展开全部 表示性别是倒数第二位,偶为女单为男. 最后一位是数字校验码,主要是为了校验计算机输入公民身份e68a84e8a2ad62616964757a686964616f31333365633963证 ...

  5. java身份证号码验证是否有效,校验是否成年

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  6. Android 身份证出生日期与系统当前时间判断年龄

    项目中刚遇到针对身份证号做出年龄判断对18岁以下理财用户的舍去方案,贴出来大家一起共享吧!!! // 判断是否成年public static boolean isAdult(String str){ ...

  7. python判断语句if...elif...else、if嵌套、三目运算符

    1. 什么是条件语句 条件成⽴执⾏某些代码,条件不成⽴则不执⾏这些代码. 2. if 语法 if 条件:条件成⽴执⾏的代码1条件成⽴执⾏的代码2...... 示例代码: if True:print(' ...

  8. js验证身份证号,超准确

    看程序前先来了解下身份证号的构成:身份证号分为两种,旧的为15位,新的为18位.身份证15位编码规则:dddddd yymmdd xx p    其中 dddddd:地区码    yymmdd: 出生 ...

  9. python的if循环语句_第二个是Python的循环语句,基础,使用,if,条件,判断,while,for

    条件判断语句 Python里的条件判断语句有if.if--else和if--elif--elif--else if条件判断语法格式 if 条件判断: 条件成立,执行此处代码 例:输入年龄,判断是否成年 ...

最新文章

  1. CoralCache:一个提高微服务可用性的中间件
  2. php代码的健壮性,代码健壮性的几点思考 - 逍遥客 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  3. MemCache在tomcat中的负载均衡和session交叉存放
  4. C# DEV 树、Grid、下拉框等设定数据源对比
  5. python 网页设计_使用Python制作获取网站目录的图形化程序
  6. okHttp3连接池简单使用
  7. 规范信息系统工程建设市场 促进信息化健康发展
  8. java循环制作万年历,JAVA-万年历代码--循环语句
  9. 使用python移动复制文件
  10. 实况足球2015pc版
  11. Matlab 符号函数
  12. C#向一个Word文件中插入文字与图片
  13. 使用Charles抓取百词斩单词音频、单词翻译、例句音频、例句翻译
  14. 利用腾讯云轻量服务器快速搭建网站CDN
  15. Cylons工业机器人_机器人的是什么意思
  16. Mysql创建用户给局域网内用户使用,开放权限,开放ip访问。
  17. BT源代码学习心得(三):种子文件的编码方式 -- 转贴自wolfenstein (NeverSayNever)
  18. 基于单片机GPS定位语音智能盲人拐杖设计(毕设课设)
  19. 头条的动态页面爬取+百度下拉搜索框
  20. win7如何进入计算机配置,教您win7怎么进入设置bios

热门文章

  1. DCEP:中国经济「内循环」的未来加速器
  2. pywinauto WXWork(企业微信) 获取工作台中的信息
  3. 转 中国人为什么丧失了慢的能力?
  4. 笔记本硬盘删除的数据怎么恢复丨顶尖数据恢复丨
  5. 第十周 mysql 和ansible 作业
  6. 07UI交互b_UX控件
  7. Chrome浏览器 设置模拟限速
  8. PLSQL锁表和解表语句
  9. vue element html左侧菜单,vue生成element左侧菜单
  10. 微信公众号文章排版需要注意的两个小细节