根据身份证获取性别,年龄,出生日期

analyzeIDCard(IDCard) {var getDataByIdCard = {};//获取用户身份证号码//获取性别if (parseInt(IDCard.substr(16, 1)) % 2 == 1) {getDataByIdCard.sexCode = '1' //男} else {getDataByIdCard.sexCode = '2' //女}//获取出生年月日var yearBirth = IDCard.substring(6, 10);var monthBirth = IDCard.substring(10, 12);var dayBirth = IDCard.substring(12, 14);var birthDate = yearBirth + "-" + monthBirth + "-" + dayBirth;//获取当前年月日并计算年龄var myDate = new Date();var monthNow = myDate.getMonth() + 1;var dayNow = myDate.getDay();var age = myDate.getFullYear() - yearBirth;if (monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)) {age--;}//得到年龄getDataByIdCard.birthDate = birthDate;getDataByIdCard.age = age;//返回性别和年龄return getDataByIdCard;},console.log(this.analyzeIDCard("340521197102145614")) //{age: 51,birthDate: "1971-02-14",sexCode: "1"}

根据出生日期获取年龄

getCurrentAgeByBirthDate(strBirthday){// 将出生日期的字符串通过"-"分割成数组const strBirthdayArr = strBirthday.split("-")// 拿到出生日期的年const birthYear = strBirthdayArr[0]// 拿到出生日期的月const birthMonth = strBirthdayArr[1]// 拿到出生日期的日const birthDay = strBirthdayArr[2]// 创建一个时间对象const d = new Date()// 拿到当前时间的年const nowYear = d.getFullYear()// 拿到当前时间的月const nowMonth = d.getMonth() + 1// 拿到当前时间的日const nowDay = d.getDate()// 如果出生日期的年等于当前时间的年if(nowYear === birthYear) return 0 // 返回周岁年龄 0,并终止函数执行// 如果如果出生日期的年不等于于当前时间的年,则拿到年之差const ageDiff = nowYear - birthYear ; // 年之差// 如果年之差是个负数,则表示用户输入的出生日期错误,晚于今天,返回 -1,并终止函数执行if(ageDiff < 0) return -1 // 返回错误 -1,并终止函数执行// 如果年之差是个正整数,但出生日期的月与当前时间的月不相等if(nowMonth !== birthMonth){// 拿到出生日期的日与当前时间的月之差const monthDiff = nowMonth - birthMonth; // 月之差// 如果月之差是个负数,则年之差 - 1后得到周岁年龄,否则直接得到周岁年龄return monthDiff < 0 ? ageDiff - 1 : ageDiff  // 返回周岁年龄,并终止函数执行}// 如果出生日期的月与当前时间的月相等,则拿到出生日期的日与当前时间的日之差const dayDiff = nowDay - birthDay;// 如果日之差是个负数,则年之差 - 1得到周岁年龄,否则直接得到周岁年龄return dayDiff < 0 ? ageDiff - 1 : ageDiff // 返回周岁年龄,并终止函数执行
}
console.log(this.getCurrentAgeByBirthDate("2022-01-01")) //2

js根据身份证获取性别、年龄、出生日期及根据出生日期获取年龄相关推荐

  1. js版身份证省市性别查询

    var H_11 = new Array(); H_11[0] = Array(); H_11[1] = Array("东城区|110101","西城区|110102&q ...

  2. js版身份证省市性别查询(18位和15位)

    var H_11 = new Array(); H_11[0] = Array(); H_11[1] = Array("东城区|110101","西城区|110102&q ...

  3. Js根据身份证号获取出生日期、性别和年龄

    /*** 传入身份证号码,获取出生日期.性别和年龄* @param IdCard 身份证号码* @param type 1 获取出生日期* 2 获取性别* 3 获取年龄,年龄小于1岁时默认为1岁*/ ...

  4. js通过身份证号获取出生日期,性别,年龄

    /** 当type=1时获取出生日期,type=2时获取性别,type=3时获取年龄* */var idCard = '' //身份证号function IdCard(IdCard, type) {i ...

  5. js通过身份证号获取出生年月日,性别,年龄

    输入框输入身份证号时,我们可以通过js的方法来提取出身份证号里面的出生年月日以及性别,年龄,代码如下 /** 当type=1时获取出生日期,type=2时获取性别,type=3时获取年龄* */var ...

  6. js脚本根据身份证号获取性别、年龄、家庭地址、生日

    做项目测试时需要根据身份证号获取其信息,也不想调接口,就自己在本地通过收集资料整合了一个 当身份证号的焦点失去选中后,根据身份证号获取性别.年龄.家庭地址.生日 直接上代码: index.html & ...

  7. js 根据身份证获取出生日期与年龄

    js 根据身份证获取出生日期与年龄 //获取出生日期getBirthdayFromIdCard(idCard) {var birthday = "";if (idCard != n ...

  8. JS身份证号码校验,JS根据身份证号码获取出生年月日,JS根据出生年月日获取年龄,JS根据身份证号码获取性别

    目录 1.JS身份证号码校验 2.JS根据身份证号码获取出生年月日 3.JS根据出生年月日获取年龄 4.JS根据身份证号码获取性别 1.JS身份证号码校验 /*** 身份证校验** @export* ...

  9. 身份证工具类-获取性别、年龄、出生日期

    package com.kotei.aptiv.common.core.util;import org.apache.commons.lang3.StringUtils;import java.uti ...

  10. js通过身份证获取性别、年龄

    function IdCard(UUserCard, num) {     if (num == 1) {         //获取出生日期         birth = UUserCard.sub ...

最新文章

  1. ping发送超大数据包(高级用法)
  2. CDN架构以及原理分析
  3. 上传html 0字节,HTML ajax 上传文件限制文件的类型和文件大小
  4. YbtOJ#20067-[NOIP2020模拟赛B组Day5]糖果分配【dp】
  5. 使用Spring将POJO公开为JMX MBean
  6. 使用VS Code开发.Net Core 2.0 MVC Web应用程序教程之一
  7. Vue系列vue-router的嵌套使用(四)
  8. android studio使用ndk,jni随记
  9. 手写一个动态代理实现,手写Proxy,手写ClassLoader,手写InvocationHandler
  10. python输入流和输出流_Python 初体验之 输入输出流
  11. [机器学习]朴素贝叶斯原理和基于Spark 实例
  12. LIO-SAM探秘第三章之代码解析(二) --- featureExtraction.cpp
  13. 微信公众号开发之微信支付开发
  14. excel转置怎么操作_Excel里掌握这些小技巧,让你的工作更轻松
  15. 如何给程序添加数字签名 sign
  16. 计算机硬盘硬盘共享如何设置,两台电脑如何共享文件夹?Win10设置共享文件夹或共享磁盘的方法...
  17. ImageJ自动批量多通道图片无损分离为单色荧光图
  18. 基因功能分析——哈佛大学
  19. jsp四大作用域介绍
  20. 抖音:对比去年6月蓝V账号数量增长44.6倍 投稿量增长211倍

热门文章

  1. 【django】django面试题总结
  2. 高通平台抓取ramdump并用qcap解析
  3. 3D 打印开源软件 cura
  4. C++ Primer 第5版--练习10.35
  5. sou.php,phpsou RiSearchPHP是一个高效 联合开发网 - pudn.com
  6. (转)架构师害怕程序员知道的十项技能
  7. VRRP在城域网中的应用
  8. 1.100个房产测量常见问题  2. 现有的商用房产测绘软件 3.问题_拔剑-浆糊的传说_新浪博客...
  9. mfc 调用绿色版的Foxit Reader / 迷你pdf阅读器.exe的同时打开一个pdf文件
  10. 安装SQL Server 2012时报.net framework 3.5错误