UNPKG

util-helpers

Version:

一个基于业务场景的工具方法库

70 lines (67 loc) 1.85 kB
'use strict'; var regIdCard = /^(\d{2})(\d{2})(\d{2})((?:\d{2})?\d{2})(\d{2})(\d{2})\d{2}(\d)(?:\d|X)?$/i; var Provinces = [ ['11', '北京市'], ['12', '天津市'], ['13', '河北省'], ['14', '山西省'], ['15', '内蒙古自治区'], ['21', '辽宁省'], ['22', '吉林省'], ['23', '黑龙江省'], ['31', '上海市'], ['32', '江苏省'], ['33', '浙江省'], ['34', '安徽省'], ['35', '福建省'], ['36', '江西省'], ['37', '山东省'], ['41', '河南省'], ['42', '湖北省'], ['43', '湖南省'], ['44', '广东省'], ['45', '广西壮族自治区'], ['46', '海南省'], ['50', '重庆市'], ['51', '四川省'], ['52', '贵州省'], ['53', '云南省'], ['54', '西藏自治区'], ['61', '陕西省'], ['62', '甘肃省'], ['63', '青海省'], ['64', '宁夏回族自治区'], ['65', '新疆维吾尔自治区'], ['71', '台湾省'], ['83', '台湾省'], ['81', '香港特别行政区'], ['82', '澳门特别行政区'] ]; function parseIdCard(id) { var match = regIdCard.exec(id); if (!match) { return null; } var origin = { province: match[1], city: match[2], area: match[3], year: match[4], month: match[5], day: match[6], gender: match[7] }; var province = Provinces.find(function (item) { return item[0] === origin.province; }); if (!province) { return null; } var birthday = "".concat(origin.year, "-").concat(origin.month, "-").concat(origin.day); var gender = Number(origin.gender) % 2 === 0 ? '女' : '男'; return { province: province[1], birthday: birthday, gender: gender, origin: origin }; } module.exports = parseIdCard;