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 相关文章推荐
FLASH 广告之外的链接
Dec 16 Javascript
jQuery动态添加删除select项(实现代码)
Sep 03 Javascript
js的hasownproperty使用示例
Mar 02 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
Jun 24 Javascript
javascript实现验证IP地址等相关信息代码
May 10 Javascript
AngularJS学习笔记之基本指令(init、repeat)
Jun 16 Javascript
jQuery实现鼠标点击弹出渐变层的方法
Jul 09 Javascript
Bootstrap Navbar Component实现响应式导航
Oct 08 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
Dec 02 Javascript
Bootstrap响应式表格详解
May 23 Javascript
详解React Native顶|底部导航使用小技巧
Sep 14 Javascript
Node.js系列之连接DB的方法(3)
Aug 30 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
php学习之 认清变量的作用范围
2010/01/26 PHP
php的hash算法介绍
2014/02/13 PHP
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
javascript动态加载二
2012/08/22 Javascript
jQuery中:header选择器用法实例
2014/12/29 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
2015/03/24 Javascript
jQuery替换textarea中换行的方法
2015/06/10 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
原生js实现打字动画游戏
2017/02/04 Javascript
javascript 的变量、作用域和内存问题
2017/04/19 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
Vue中保存数据到磁盘文件的方法
2018/09/06 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
vue-cli3.X快速创建项目的方法步骤
2019/11/14 Javascript
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
Python模拟登录验证码(代码简单)
2016/02/06 Python
Python两个内置函数 locals 和globals(学习笔记)
2016/08/28 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
2020/12/11 Python
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
税务干部鉴定材料
2014/02/11 职场文书
企业业务员岗位职责
2014/03/14 职场文书
公司户外活动总结
2014/07/04 职场文书
个人委托书范本
2014/09/13 职场文书
普通党员个人剖析材料
2014/10/08 职场文书
2014年高二班主任工作总结
2014/12/16 职场文书
反腐倡廉观后感
2015/06/08 职场文书
重阳节活动主持词
2015/07/04 职场文书
宣传委员竞选稿
2015/11/19 职场文书
2019年思想汇报
2019/06/20 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers
mysql升级到5.7时,wordpress导数据报错1067的问题
2021/05/27 MySQL