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 相关文章推荐
JQueryMiniUI按照时间进行查询的实现方法
Jun 07 jQuery
jQuery 表单序列化实例代码
Jun 11 jQuery
jQuery 实现双击编辑表格功能
Jun 19 jQuery
菊花转动的jquery加载动画效果
Aug 19 jQuery
使用jQuery给Table动态增加行、清空table的方法
Sep 05 jQuery
js jquery 获取某一元素到浏览器顶端的距离实现方法
Sep 05 jQuery
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
Mar 19 jQuery
jQuery创建折叠式菜单
Jun 15 jQuery
JQuery 实现文件下载的常用方法分析
Oct 29 jQuery
jQuery编写QQ简易聊天框
Aug 27 jQuery
jQuery插件实现图片轮播效果
Oct 19 jQuery
jquery实现拖拽小方块效果
Dec 10 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
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
浅谈php命令行用法
2015/02/04 PHP
PHP调用其他文件中的类
2018/04/02 PHP
jquery中插件实现自动添加用户的具体代码
2013/11/15 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
2014/09/04 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
2016/01/08 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
Bootstrap实现导航栏的2种方式
2016/11/28 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
js中document.write和document.writeln的区别
2018/03/11 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
2018/03/26 Javascript
微信小程序网络封装(简单高效)
2018/08/06 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
2018/12/30 Javascript
通过vue写一个瀑布流插件代码实例
2019/09/07 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
vue用elementui写form表单时,在label里添加空格操作
2020/08/13 Javascript
Vue filter 过滤器、以及在table中的使用介绍
2020/09/07 Javascript
[05:39]2014DOTA2国际邀请赛 DK晋级胜者组专访战队国士无双
2014/07/14 DOTA
Python实现针对中文排序的方法
2017/05/09 Python
1分钟快速生成用于网页内容提取的xslt
2018/02/23 Python
DataFrame:通过SparkSql将scala类转为DataFrame的方法
2019/01/29 Python
Python OpenCV利用笔记本摄像头实现人脸检测
2020/08/20 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
毕业生文员求职信
2013/11/03 职场文书
商务英语专业毕业生自荐信
2013/11/05 职场文书
化学教学随笔感言
2014/02/19 职场文书
教师节活动总结
2014/08/29 职场文书
尊师重教主题班会
2015/08/14 职场文书
先进工作者主要事迹材料
2015/11/03 职场文书