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插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 jQuery
jquery中$.fn和图片滚动效果实现的必备知识总结
Apr 21 jQuery
jquery dataTable 获取某行数据
May 05 jQuery
JQuery EasyUI的一些常用组件
Jul 12 jQuery
详解webpack3如何正确引用并使用jQuery库
Aug 26 jQuery
jQuery中 DOM节点操作方法大全
Oct 12 jQuery
jquery 给动态生成的标签绑定事件的几种方法总结
Feb 24 jQuery
jQuery实现的电子时钟效果完整示例
Apr 28 jQuery
jQuery判断自定义属性data-val用法示例
Jan 07 jQuery
使用jquery-easyui的布局layout写后台管理页面的代码详解
Jun 19 jQuery
jquery图片预览插件实现方法详解
Jul 18 jQuery
layui+jquery支持IE8的表格分页方法
Sep 28 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
PHPMailer使用教程(PHPMailer发送邮件实例分析)
2012/12/06 PHP
PHP在线生成二维码代码(google api)
2013/06/03 PHP
php分页函数示例代码分享
2014/02/24 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
基于jQuery选择器的整理集合
2013/04/26 Javascript
jquery中文乱码的多种解决方法
2013/06/21 Javascript
js 浏览本地文件夹系统示例代码
2013/10/24 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
2016/03/03 Javascript
nodejs使用http模块发送get与post请求的方法示例
2018/01/08 NodeJs
vue.js响应式原理解析与实现
2020/06/22 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
Node.js学习教程之Module模块
2019/09/03 Javascript
解决vue自定义指令导致的内存泄漏问题
2020/08/04 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
2020/09/11 Javascript
python 排列组合之itertools
2013/03/20 Python
videocapture库制作python视频高速传输程序
2013/12/23 Python
python网页请求urllib2模块简单封装代码
2014/02/07 Python
python根据京东商品url获取产品价格
2015/08/09 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
python使用wxpy实现微信消息防撤回脚本
2019/04/29 Python
python实现月食效果实例代码
2019/06/18 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
利用python爬取有道词典的方法
2020/12/08 Python
【魔兽争霸3重制版】原版画面与淬火MOD画面对比
2021/03/26 魔兽争霸
成人毕业生自我鉴定
2013/10/18 职场文书
公务员个人自我评价分享
2013/11/06 职场文书
荷叶圆圆教学反思
2014/02/01 职场文书
ktv总经理岗位职责
2014/02/17 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
休假证明书
2015/06/24 职场文书