jquery 校验中国身份证号码实例详解


Posted in jQuery onApril 11, 2017

jquery 校验中国身份证号码实例详解

大陆18位身份证(第二代身份证)

身份号码是一组具有特征组合码,由十七位数字本体码和一位校验码组成。

排列顺序从左至右依次为:六位数字地区码,八位数字生日码,三位数字顺序码和一位数字校验码。

校验方法:

(1)先对前17位数字的权求和

        S = Sum(Ci * Vi), i = 0, ... , 16

        Ci:表示身份证号码上第i位置的数字值

        Vi:表示第i位置上的“加权因子”

        加权因子Vi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

(2)计算模(固定算法)

        Y = mod(S, 11)

(3)将计算模Y与对应的校验码校验

        Y:        0 1 2 3 4 5 6 7 8 9 10 (通过Y取得对应校验码与身份证的第18位校验)

        校验码: 1 0 X 9 8 7 6 5 4 3 2

实例代码:

function check_id(value){
  var arrExp = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];//加权因子 
  var arrValid = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2];//校验码 
  if(/^\d{17}\d|x$/i.test(value)){  
    var sum = 0, idx; 
    for(var i = 0; i < value.length - 1; i++){ 
      // 对前17位数字与权值乘积求和 
      sum += parseInt(value.substr(i, 1), 10) * arrExp[i]; 
    } 
    // 计算模(固定算法) 
    idx = sum % 11; 
    // 检验第18为是否与校验码相等 
    return arrValid[idx] == value.substr(17, 1).toUpperCase(); 
  }else{ 
    return false; 
  } 
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

jQuery 相关文章推荐
如何选择jQuery版本 1.x? 2.x? 3.x?
Apr 01 jQuery
jQuery实现radio第一次点击选中第二次点击取消功能
May 15 jQuery
jQuery Pagination分页插件_动力节点Java学院整理
Jul 17 jQuery
解决jquery appaend元素中id绑定事件失效的问题
Sep 12 jQuery
简单实现jQuery弹窗效果
Oct 30 jQuery
jquery获取transform里的值实现方法
Dec 12 jQuery
jQuery实现碰到边缘反弹的动画效果
Feb 24 jQuery
jQuery实现导航样式布局操作示例【可自定义样式布局】
Jul 24 jQuery
JQuery animate动画应用示例
May 14 jQuery
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
Jul 22 jQuery
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 jQuery
基于jQuery实现瀑布流页面
Apr 11 #jQuery
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 #jQuery
jQuery EasyUI 组件加上“清除”功能实例详解
Apr 11 #jQuery
vue中如何引入jQuery和Bootstrap
Apr 10 #jQuery
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
Apr 10 #jQuery
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 #jQuery
jQuery EasyUI之验证框validatebox实例详解
Apr 10 #jQuery
You might like
PHP中显示格式化的用户输入
2006/10/09 PHP
JavaScript高级程序设计 阅读笔记(二十) js错误处理
2012/08/14 Javascript
JS实现点击下载的小例子
2013/07/10 Javascript
js 判断计算字符串长度/判断空的简单方法
2013/08/05 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
利用jquery获取select下拉框的值
2016/11/23 Javascript
Javascript中Promise的四种常用方法总结
2017/07/14 Javascript
Three.js如何实现雾化效果示例代码
2017/09/27 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
vue中的provide/inject的学习使用
2018/05/09 Javascript
vue.js中使用echarts实现数据动态刷新功能
2019/04/16 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
OpenLayers3实现地图显示功能
2020/09/25 Javascript
[53:43]VP vs NewBee Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
探究Python中isalnum()方法的使用
2015/05/18 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
Django多数据库的实现过程详解
2019/08/01 Python
Python中typing模块与类型注解的使用方法
2019/08/05 Python
pymysql的简单封装代码实例
2020/01/08 Python
Python批量启动多线程代码实例
2020/02/18 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
2020/02/28 Python
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
加拿大高尔夫超市:Golf Town
2018/01/12 全球购物
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
外贸主管求职简历的自我评价
2013/10/23 职场文书
小学后勤管理制度
2014/01/14 职场文书
网络技术专业求职信
2014/07/13 职场文书
社区活动策划方案
2014/08/21 职场文书
员工生日活动方案
2014/08/24 职场文书
技术员岗位职责
2015/02/04 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python
PyTorch中permute的使用方法
2022/04/26 Python