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实现文章图片弹出放大效果
Apr 06 jQuery
运用jQuery写的验证表单(实例讲解)
Jul 06 jQuery
jQuery Datatable 多个查询条件自定义提交事件(推荐)
Aug 24 jQuery
jQuery获取复选框选中的当前行的某个字段的值
Sep 15 jQuery
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 jQuery
jQuery判断网页是否已经滚动到浏览器底部的实现方法
Oct 27 jQuery
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
Dec 24 jQuery
jQuery实现表单动态添加数据并提交的方法
Jul 19 jQuery
使用jQuery给Table动态增加行、清空table的方法
Sep 05 jQuery
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 jQuery
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
jQuery 淡入/淡出效果函数用法分析
May 19 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
如何使用Strace调试工具
2013/06/03 PHP
解析左右值无限分类的实现算法
2013/06/20 PHP
PHP封装函数实现生成随机的字符串验证码
2017/01/24 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
2010/05/27 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
2015/08/06 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
浅谈jQuery before和insertBefore的区别
2016/12/04 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
vue中重定向redirect:‘/index‘,不显示问题、跳转出错的完美解决
2020/09/28 Javascript
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
python3+PyQt5实现拖放功能
2018/04/24 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
Python中shapefile转换geojson的示例
2019/01/03 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
使用Python控制摄像头拍照并发邮件
2019/04/23 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
2019/08/12 Python
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
师范大学毕业自我鉴定
2013/11/21 职场文书
大学生饮食连锁店创业计划书
2014/01/17 职场文书
业务部主管岗位职责
2014/01/29 职场文书
《在大海中永生》教学反思
2014/02/24 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
低碳环保口号
2014/06/12 职场文书
考试作弊万能检讨书
2014/10/19 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书