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 相关文章推荐
childNodes.length与children.length的区别
May 14 Javascript
jquery 弹出层注册页面等(asp.net后台)
Jun 17 Javascript
js切换div css注意的细节
Dec 10 Javascript
jQuery原理系列-css选择器的简单实现
Jun 07 Javascript
JS Ajax请求如何防止重复提交
Jun 13 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
Aug 29 Javascript
原生和jQuery的ajax用法详解
Jan 23 Javascript
浅谈JS中的常用选择器及属性、方法的调用
Jul 28 Javascript
浅谈Vuex注入Vue生命周期的过程
May 20 Javascript
微信小程序 组件的外部样式externalClasses使用详解
Sep 06 Javascript
使用Vue-cli3.0创建的项目 如何发布npm包
Oct 10 Javascript
Vue中的nextTick作用和几个简单的使用场景
Jan 25 Vue.js
基于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实现CSV文件导入和导出
2015/10/24 PHP
关于php中一些字符串总结
2016/05/05 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
2012/10/11 Javascript
js中通过父级进行查找定位元素
2014/06/15 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
JavaScript提高网站性能优化的建议(二)
2016/07/24 Javascript
jQuery操作cookie
2016/08/08 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
详解Layer弹出层样式
2017/08/21 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
vue项目中的webpack-dev-sever配置方法
2017/12/14 Javascript
详解Eslint 配置及规则说明
2018/09/10 Javascript
详解Vue内部怎样处理props选项的多种写法
2018/11/06 Javascript
JS代码触发事件代码实例
2020/01/02 Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
2020/05/30 jQuery
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
Python双链表原理与实现方法详解
2020/02/22 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
Python列表推导式实现代码实例
2020/09/09 Python
CSS3制作皮卡丘动画壁纸的示例
2020/11/02 HTML / CSS
运动鞋中的劳斯莱斯:索康尼(SAUCONY)
2017/08/09 全球购物
教师的实习鉴定
2013/12/15 职场文书
淘宝网店营销策划书
2014/01/11 职场文书
运动会稿件200字
2014/02/07 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
spring cloud gateway中如何读取请求参数
2021/07/15 Java/Android
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang