前言:之前在项目开发中,经常需要用户录入身份证信息,同时还要提供籍贯等信息。那么,如何从身份证号码中解析出籍贯等信息,就是本篇博客索要解决的。
其实,身份证号码前6位就是用户的籍贯编码,直接解析该6位号码就可以了。但是问题来了,前6位中的每2位,分别代表省、市、区编码,如何能够通过编码获取该编码对应的名称?这里面的信息量,估计没有几个愿意根据国标录完之后在进行比较的(太多)。后面,在项目的省市区三级联动插件中,发现了,里面有一个js文件,该文件中,就包含有全部的信息。那么我们直接解析这个文件就可以了。
另外,之前项目使用的前端校验是jQuery Validate,这个解析操作,应该在号码通过校验后,在进行解析。直接上代码
functionidCardInfoResolver(idCardNumber) {var district = idCardNumber.substr(0 , 6);var province = district.substr(0 , 2) + "0000";var city = district.substr(0 , 4) + "00";//省份解析
var provinceName = getCodeNameThroughCodeNumber('86', province);if(provinceName == "error") {
toastr.error("无法从当前输入的身份证编号中解析得到对应的