js根据身份证号码计算年龄的方法
先科普一下啊,身份证分为一代身份证(15位)和二代身份证(18位)
15位身份证号码各位的含义:
1、1-2位省、自治区、直辖市代码;
2、3-4位地级市、盟、自治州代码;
3、5-6位县、县级市、区代码;
4、7-12位出生年月日,比如670401代表1967年4月1日,与18位的第一个区别;
5、13-15位为顺序号,其中15位男为单数,女为双数;
18位的第二代身份证号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码、八位数字出生日期码、三位数字顺序码和一位数字校验码。 地址码(前六位数):表示身份证编码对象常住户口所在省份、地市,以及县(市、旗、区)的行政区划代码,按照GB/T2260的规定执行。其中:前1、2位数字表示所在省份的代码; 第3、4位数字表示所在地市的代码; 第5、6位数字表示:所在县(市、旗、区)的代码。出生日期码(第七位至十四位):表示身份证编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日代码之间不用分隔符。顺序码(第十五位至十七位):表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。校验码(第十八位数):作为尾号的校验码,是由身份证号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现Ⅹ,但如果尾号是10,那么就得用Ⅹ来代替。因为如果用10做尾号,那么此人的身份证就变成了19位。
export function analyzeIDCard(IDCard){var age = 0,yearBirth,monthBirth,dayBirth;//获取用户身份证号码var userCard = IDCard;//如果身份证号码为undefind则返回空if(!userCard){return age;}var reg = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/; //验证身份证号码的正则if (reg.test(userCard)) {if (userCard.length == 15) {var org_birthday = userCard.substring(6, 12);//获取出生年月日yearBirth = "19" + org_birthday.substring(0, 2);monthBirth = org_birthday.substring(2, 4);dayBirth = org_birthday.substring(4, 6);} else if (userCard.length == 18) {//获取出生年月日yearBirth = userCard.substring(6,10);monthBirth = userCard.substring(10,12);dayBirth = userCard.substring(12,14);}//获取当前年月日并计算年龄var myDate = new Date();var monthNow = myDate.getMonth() + 1;var dayNow = myDate.getDate();var age = myDate.getFullYear() - yearBirth;if(monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)){age--;}//返回年龄return age;} else {return ''}}
考虑了15位和18位,这里只返回年龄,其他性别,出生年月日可以翻看之前的内容。
js根据身份证号码计算年龄的方法相关推荐
- JS根据身份证号码计算年龄和性别
/*** 根据身份证号得到姓别和精确计算年龄*/ function analyzeIDCard(IDCard){var sexAndAge = {};//获取用户身份证号码var userCard = ...
- MySql通过身份证号码计算年龄和性别
一.如何通过身份证号码计算当前用户的年龄 计算规则:先取出身份证上的年份并计算年份与当前年份的差,再比较当前日期与身份证上的月日(即判断此人是否已经过了国历生日),决定是否需要减去一岁,已经过了生日的 ...
- JS根据身份证号计算年龄
//调用 GetAge方法传参即可GetAge(identityCard) {var len = (identityCard + "").length;if (len == 0) ...
- Oracle 通过15位或18位身份证号码计算年龄、出生年月日、性别
15位身份证号码各位的含义: 地址码(前六位数):表示身份证编码对象常住户口所在省份.地市,以及县(市.旗.区)的行政区划代码,1-2位数字表示所在地省.自治区.直辖市代码,第3.4位数字表示所在地地 ...
- Js--根据身份证号计算年龄、性别、出生年月日
根据身份证号获取生日 export function getBirthdayByIdCard(idCard: string): string {if (idCard.length === 15) {r ...
- JS身份证号码校验,JS根据身份证号码获取出生年月日,JS根据出生年月日获取年龄,JS根据身份证号码获取性别
目录 1.JS身份证号码校验 2.JS根据身份证号码获取出生年月日 3.JS根据出生年月日获取年龄 4.JS根据身份证号码获取性别 1.JS身份证号码校验 /*** 身份证校验** @export* ...
- mysql实现根据身份证号码计算出身日期和年龄
提出 在我们国家身份证号码从第七位开始到第十四为表示的是你的出生日期:所以给定一个身份证号码我们就可以根据身份证号码计算出相应的出生日期和年龄 解决 计算出生日期 SELECT DATE_FORMAT ...
- js根据身份证号码判断性别和年龄
/**这是一个超实用的用js根据身份证号码判断性别男女的特效代码,详细看下面的*/ /** 根据身份证号码判断性别 15位身份证号码:第7.8位为出生年份(两位数),第9.10位为出生月份,第11.1 ...
- 根据身份证号计算年龄
根据身份证号计算年龄 /// <summary> /// 计算年龄 /// </summary> /// <param name=&quo ...
- 根据出生日期计算年龄或者根据身份证号计算年龄
可以把这个方法写成一个工具类方便以后在项目中调用,以下是写好的方法可以直接拿去用 注:(此方法计算的是虚岁年龄不是实岁年龄) //根据身份证号计算年龄 //身份证号 //String certNo = ...
最新文章
- java 报文长度计算_从TcpClient.GetStream()读取而不知道长度 - java
- ubuntu设置securecrt串口权限
- 修改altium designer原理图右下角信息
- 2020 我的C++学习之路 C++PrimerPlus第十章课后习题
- 计组之中央处理器:8、五段式指令流水线
- treeview 文字垂直方向_word文本排版技巧:改变文字方向的这些方法,你知道吗?...
- sql server 监视_使用动态管理对象监视SQL Server –请求
- 136. PHP 编程
- PMP考试多少分算通过?
- 替换和修复系统User32.dll文件
- arduino 鸿蒙,arduino入门开发案例(上)
- php+xls加密,POI Excel xlsx加密
- 加盟代理闪云科技小程序为创业者带来另一条出路
- 【数据链路层】广播信道 碰撞检测CSMA 争用期
- Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)错误
- 视频在html不能播放器,网页无插件直播H265编码视频播放器EasyPlayer网页播放器不能播放怎么处理?...
- 为什么衡山派掌门人莫大先生一直没有婚娶
- java 与或_Java 语言中的逻辑与 () 和逻辑或 (||) 运算采用 方式进行运算。_学小易找答案...
- 简述数据分析师需要学什么内容
- 热榜|Shopee马来站点热门搜索关键词干货分享!
热门文章
- java debug命令详解_DEBUG命令使用解析及范例大全
- 上百套HTML5登录页面模板
- 大数据时代下,数据感知在数据质量管理系统中的应用
- 联想linux无线网卡驱动,联想E431笔记本CentOS系统安装无线网卡驱动
- TP框架打印输出原生sql语句
- 电精2(电神魔傀2) android版本下载
- macos 设置内外网同时访问
- 使用Blender编辑Character Creater 4的人物形象
- QuartusII下载程序报错,无法正常下载
- 鼠标连点器同时点多个位置_大神的强力鼠标清单,小白用它瞬间提升实力,在游戏里呼风唤雨...