200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > js小技巧:根据身份证号 获取身份信息。如性别 生日 年龄

js小技巧:根据身份证号 获取身份信息。如性别 生日 年龄

时间:2024-07-17 07:26:58

相关推荐

js小技巧:根据身份证号 获取身份信息。如性别 生日 年龄

根据输入的身份证号,返回身份证信息 如 性别 sex、生日 birthDay、年龄 age。

方法如下:

// 返回身份证信息 如 性别 sex、生日 birthDayfunction getCardInfo(id) {var obj = {};// 身份证号 获取性别var sexNum = id.substring(id.length - 2, id.length - 1);var isEven = ( sexNum % 2 ) === 0;obj["sex"] = isEven ? "2" : "1"; // 姓别 1 -> 男 | 2 -> 女// 身份证号 获取生日var birthDay = id.substring(6, 14);var y = birthDay.substring(0, 4);var m = birthDay.substring(4, 6);var d = birthDay.substring(6, 8);obj["birthDay"] = y + "-" + m + "-" + d;// 身份证号 获取年龄var nowDate = new Date(); //获取当前时间var intYear = parseInt(y); //身份证的年份转为数字格式var month = nowDate.getMonth() + 1; //获取当前月份,getMonth()方法获取到的月份是从0开始的,所以这里需要加1var intMonth = parseInt(m); //身份证的月份转为数字格式var day = nowDate.getDate();var age = nowDate.getFullYear() - intYear - 1; age = parseInt(age);//判断身份证月份是否比当前月份小if (intMonth < month || (intMonth === month && id.substring(12, 14) <= day)) {age++;}obj["age"] = age;// 判断基本信息if (parseInt(y) <= 0 || parseInt(m) <= 0 || parseInt(d) <= 0 || parseInt(d) > 31 || age > 110) {alert("请检查身份证号");return false;}return obj;};console.log(getCardInfo('341221199704046880')) //输出:{sex: "2", birthDay: "1997-04-04", age: 24}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。