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 11 jQuery
jQuery实现下拉菜单的实例代码
Jun 19 jQuery
关于jquery form表单序列化的注意事项详解
Aug 01 jQuery
基于JQuery的Ajax方法使用详解
Aug 16 jQuery
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
jquery实现侧边栏左右伸缩效果的示例
Dec 19 jQuery
jQuery实现页码跳转式动态数据分页
Dec 31 jQuery
jQuery中ajax获取数据赋值给页面的实例
Dec 31 jQuery
jQuery实现列表的增加和删除功能
Jun 14 jQuery
浅析vue-router jquery和params传参(接收参数)$router $route的区别
Aug 03 jQuery
jQuery 实现批量提交表格多行数据的方法
Aug 09 jQuery
jQuery实现电梯导航模块
Dec 22 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
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
Js apply方法详解
2017/02/16 Javascript
JS实现新建文件夹功能
2017/06/17 Javascript
让你5分钟掌握9个JavaScript小技巧
2018/06/09 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
java和js实现的洗牌小程序
2019/09/30 Javascript
JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)
2020/05/27 Javascript
vue-video-player视频播放器使用配置详解
2020/10/23 Javascript
[26:24]完美副总裁、DOTA2负责人蔡玮专访:电竞如人生
2014/09/11 DOTA
Python实现图像几何变换
2015/07/06 Python
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
Python实现图片转字符画的示例
2017/08/22 Python
python如何实现内容写在图片上
2018/03/23 Python
Python for循环及基础用法详解
2019/11/08 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
浅谈h5自定义audio(问题及解决)
2016/08/19 HTML / CSS
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
电子专业推荐信范文
2013/11/18 职场文书
财务会计自荐信范文
2014/02/21 职场文书
考核工作实施方案
2014/03/30 职场文书
捐书活动总结
2014/05/04 职场文书
信息员培训方案
2014/06/12 职场文书
2015年党员创先争优公开承诺书
2015/04/27 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
承诺书怎么写 ?
2019/04/16 职场文书
Nginx反向代理多个服务器的实现方法
2021/03/31 Servers
sentinel支持的redis高可用集群配置详解
2022/04/01 Redis
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js