本文转载:https://www.jb51.net/article/58643.htm


这篇文章主要介绍了javascript实现根据身份证号读取相关信息,需要的朋友可以参考下
公民身份号码由六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码组成。

地址码 前两位表示省,中间两位表示市,后两位表示县

顺序码 表示同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。顺序码的奇数分给男性,偶数分给女性。

校验码 是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。
校验码计算方法:
1)将前面的身份证号码17位数分别乘以不同的系数,从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 ;
2)将这17位数字和系数相乘的结果相加,用加出来和除以11,得到余数;
4)余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字,其分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2。

身份证号合法性验证 支持15位和18位身份证号 支持地址编码、出生日期、校验位验证

代码如下:<div style="padding:20px 40px;"><h1 style="font-size:20px;color:#999;">身份证查询</h1><input type="text" placeholder="输入身份证号" id="code"><input type="button" value="查询" id="btn"><p id="home"><strong>籍&nbsp;&nbsp;&nbsp;&nbsp;贯:</strong><span></span></p><p id="birthday"><strong>出生日期:</strong><span></span></p><p id="sex"><strong>性&nbsp;&nbsp;&nbsp;&nbsp;别:</strong><span></span></p></div><script type="text/javascript">//去掉字符串头尾空格   var home='',birthday='',sex='';function trim(str) {   return str.replace(/^\s*|\s*$/g, "");   }//验证身份证function IdentityCodeValid(code) {code=trim(code);var city={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:"台湾",81:"香港",82:"澳门"};    if(!code || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(code)){alert("身份证号格式错误");home='',birthday='',sex='';return false;}if(!city[code.substring(0,2)]){alert("地址编码错误");home='',birthday='',sex='';return false;}if(code.length == 18){    //18位身份证需要验证最后一位校验位var codeArr = code.split('');        var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];    //加权因子                var parity = [ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 ];                        //校验位var sum = 0;for (var i = 0; i < 17; i++){sum += codeArr[i] * factor[i];}if(parity[sum % 11] != codeArr[17]){alert("校验位错误");home='',birthday='',sex='';return false;}                }//省份home = city[code.substring(0,2)];    //生日birthday = code.substring(6,10)+'年'+code.substring(10,12)+'月'+code.substring(12,14)+'日';//性别if(code.length==15){sex = code.substring(14,15)%2==0 ? '女':'男';}else if(code.length==18){sex = code.substring(14,17)%2==0 ? '女':'男';}}//输出结果document.querySelector('#btn').onclick=function(){var code=document.querySelector('#code').value;IdentityCodeValid(code);document.querySelector('#home span').innerHTML=home;document.querySelector('#birthday span').innerHTML=birthday;document.querySelector('#sex span').innerHTML=sex;}</script>

本文主要是根据公民身份证的规则,读取相关的身份信息,非常方便实用,推荐给大家。

javascript实现根据身份证号读取相关信息相关推荐

  1. js如何实现扫描身份证识别_javascript实现根据身份证号读取相关信息

    公民身份号码由六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码组成. 地址码 前两位表示省,中间两位表示市,后两位表示县 顺序码 表示同一地址码所标识的区域范围内,对同年.月.日出生 ...

  2. 根据身份证号获取相关信息(籍贯、性别、出生日期...)

    根据身份证号获取相关信息(籍贯.性别.出生日期-) 首先我的只是个demo,身份证号也是写死的.仅供参考! 通过访问其他HTTP接口,将身份证号当作参数.调用接口返回相关信息 效果展示: **接口地址 ...

  3. Flask实现身份证号查询相关信息(Python2.7)

    Python3是趋势,但是新浪SAE平台的便宜点的微服务,是Python2.7的.所以以下代码的环境是Python2.7. 原理是,一些关于政策的表,以这种Excel的方式存储在文件夹中: 创建一个类 ...

  4. 根据身份证号查询相关信息

    #include<stdio.h> #include<stdlib.h> #include<string.h>void date(); int main() {da ...

  5. 通过身份证号获取个人信息(JAVA代码)

    通过身份证号获取个人信息(JAVA代码) 个人思路 如果有错误,欢迎留言 代码 个人思路 文档下载地址: 身份证对应省区 1.首先对身份证进行输入 对身份证信息进行匹配看是否符合身份证规则,我是利用正 ...

  6. wps姓名隐藏为星号_EXCEL里如何给姓名手机号身份证号等隐私信息设置星号隐藏起来?...

    在EXCEL表格里如图有时为了保护隐私,需要把姓名啊手机啊身份证号啊这些敏感的个人信息以星号显示,要如何操作呢?下面演示一下操作步骤: 一.星号姓名 1.在需要设置的单元格里输入=REPLACE(E2 ...

  7. 【学习】身份证号获取个人信息

    身份证具有明显的代表唯一性,通过身份证号可以获取到哪些信息?社保在校验添加缴费人信息时,需要根据输入的身份证号获取信息,格式验证通过后将获取到的信息填充.这就需要了解一些规格. 现在新一代的身份证居多 ...

  8. 如何对身份证号上的信息进行提取

    from openpyxl import load_workbook from datetime import datetime #导入时间模块 def create_time():wb=load_w ...

  9. 利用身份证号获取生日信息

    1 问题 如何利用Java程序从身份证号中获取生日信息. 2 方法 采用"截图+文字+代码"的方式描述. //调用函数获取当前日期以及截取身份证号码中的数字 import java ...

最新文章

  1. python 爬取手机app的信息
  2. Dynamic CRM 2013学习笔记(四十三)流程6 - 自定义流程活动
  3. max格式转obj小工具_PDF文件转JPG等图片格式的小工具
  4. 理解Tomcat架构、启动流程及其性能优化
  5. 阿里云专家穆轩的《杭州九年程序员之“修炼”手册》
  6. 操作系统:分享10个经常用的cmd命令
  7. python打开软件输入消息_用Python编写一个私人助理程序,为我们起草电子邮件!...
  8. 使用无锁的方式和有锁的方式的程序性能对比
  9. python人脸关键点识别_用Face++实现人脸关键点检测
  10. 一个form 如何做两次提交_如何做一个调酒师
  11. html 事件重叠,两个div叠加触发事件发生闪烁问题的解决方法
  12. 第五篇:关于MVPArms打包混淆及报错解决
  13. 让样本不一样重要-A Dual Weighting Label Assignment Scheme for Object Detection
  14. Web用户控件开发--分页控件
  15. 北上广深买的房,程序员月薪得多少?
  16. Linux 网桥代码分析 六 网桥数据转发函数分析
  17. 风电场气象服务器是什么系统,气象站资料在风电场前期工作中到底有多重要?...
  18. 7-1 到底是不是太胖了
  19. 大学生为什么要学Linux?Linux有什么优点?
  20. Myeclipse10下载,安装,破解,插件,优化介绍

热门文章

  1. 【Markdown基础教程】编辑环境的下载
  2. python爬取携程网游记_Python爬虫案例:爬取携程评论
  3. 《机器学习》笔记:引言
  4. 如果当初......
  5. IPv6, DAD 工作原理详解
  6. Hadoop学习(七)---namenode结点的详细讲解
  7. Android异步加载图像(含线程池,缓存方法)
  8. 渗透测试之AppScan篇
  9. 计算机科学与技术毕业论文选题【精选】
  10. 2007-2020年上市公司研发投入匹配数字化转型