// 身份证号
var cardNumber = "341881199701015617";
// 获取出生年月
var year = cardNumber.substring(6, 10);
var month = cardNumber.substring(10, 12);
var day = cardNumber.substring(12, 14);
// 计算出生日期后16周岁-1天的日期
var date = new Date(year+‘-‘+month+‘-‘+day);
date.setFullYear(date.getFullYear() + 16); // 设置年
//date = date - 1000 * 60 * 60 * 24;
date.setDate(date.getDate() - 1); // 设置日
//date = new Date(date);
console.log(date.getFullYear() + "-" + parseInt(date.getMonth()) +‘- ‘ + date.getDate());
15位是一代身份证,缺省年份前缀19,和最后校验位
校验位计算
原文:https://www.cnblogs.com/xiongyungang/p/14243917.html