js 第二代身份证号码的验证机制代码


Posted in Javascript onMay 12, 2011

由于响应速度极快,可以肯定不是联机校验正确性的,那也就是说第二代身份证除了大家都知道的几位表示生日和性别的规则以外,还有另外的自我校验规则。于是翻开页面源码查看,发现这段js没有被压缩,所以规则也很好懂。
就在这里给大家科普下,不知道是不是火星了,呵呵。
以下代码来自这里,版权归盛大。当然,你也可以在维基百科找到更详细的介绍和算法。

iW = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1); 
iSum = 0; 
for( i=0;i<17;i++){ 
iC = v_card.charAt(i) ; 
iVal = parseInt(iC); 
iSum += iVal * iW[i]; 
} 
iJYM = iSum % 11; 
var sJYM = ''; 
if(iJYM == 0) sJYM = "1"; 
else if(iJYM == 1) sJYM = "0"; 
else if(iJYM == 2) sJYM = "x"; 
else if(iJYM == 3) sJYM = "9"; 
else if(iJYM == 4) sJYM = "8"; 
else if(iJYM == 5) sJYM = "7"; 
else if(iJYM == 6) sJYM = "6"; 
else if(iJYM == 7) sJYM = "5"; 
else if(iJYM == 8) sJYM = "4"; 
else if(iJYM == 9) sJYM = "3"; 
else if(iJYM == 10) sJYM = "2"; 
var cCheck = v_card.charAt(17).toLowerCase(); 
if( cCheck != sJYM ){ 
return false; //对不上就是假号码 
}
Javascript 相关文章推荐
Prototype使用指南之enumerable.js
Jan 10 Javascript
jQuery插件pagination实现分页特效
Apr 12 Javascript
实例详解angularjs和ajax的结合使用
Oct 22 Javascript
jQuery实现下拉框功能实例代码
May 06 Javascript
AngularJs Managing Service Dependencies详解
Sep 02 Javascript
BootStrap Fileinput的使用教程
Dec 30 Javascript
Vue2组件tree实现无限级树形菜单
Mar 29 Javascript
关于webpack2和模块打包的新手指南(小结)
Aug 07 Javascript
jquery对table做排序操作的实例演示
Aug 10 jQuery
Webpack优化配置缩小文件搜索范围
Dec 25 Javascript
在vue中使用setInterval的方法示例
Apr 16 Javascript
vue使用微信扫一扫功能的实现代码
Apr 11 Javascript
基于JQuery的动态删除Table表格的行和列的代码
May 12 #Javascript
五个jQuery图片画廊插件 推荐
May 12 #Javascript
JavaScript 继承使用分析
May 12 #Javascript
JS焦点图切换,上下翻转
May 12 #Javascript
js 中{},[]中括号,大括号使用详解
May 12 #Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
May 12 #Javascript
JavaScript中的几个关键概念的理解-原型链的构建
May 12 #Javascript
You might like
smtp邮件发送一例
2006/10/09 PHP
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
JavaScript Object的extend是一个常用的功能
2009/12/02 Javascript
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
checkbox使用示例
2013/08/23 Javascript
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
jQuery中each()方法用法实例
2014/12/27 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
jquery siblings获取同辈元素用法实例分析
2016/07/25 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
2016/08/24 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
2020/07/19 Javascript
JQuery基于FormData异步提交数据文件
2020/09/01 jQuery
Python实现的一个简单LRU cache
2014/09/26 Python
Python语言描述KNN算法与Kd树
2017/12/13 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
详解python和matlab的优势与区别
2019/06/28 Python
pycharm修改file type方式
2019/11/19 Python
Python创建一个元素都为0的列表实例
2019/11/28 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
The North Face北面德国官网:美国著名户外品牌
2018/12/12 全球购物
机械工程师的岗位职责
2013/11/17 职场文书
小学生民族团结演讲稿
2014/08/27 职场文书
2019假期福利管理制度!
2019/07/15 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
彻底理解golang中什么是nil
2021/04/29 Golang
详解Python函数print用法
2021/06/18 Python