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 相关文章推荐
Javascript解决常见浏览器兼容问题的12种方法
Jan 04 Javascript
js下关于onmouseout、事件冒泡的问题经验小结
Dec 09 Javascript
js 第二代身份证号码的验证机制代码
May 12 Javascript
函数window.open实现关闭所有的子窗口
Aug 03 Javascript
解决node.js安装包失败的几种方法
Sep 02 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
Dec 01 Javascript
js常用DOM方法详解
Feb 04 Javascript
Bootstrap笔记—折叠实例代码
Mar 13 Javascript
JS实现简单的星期格式转换功能示例
Jul 23 Javascript
详解mpvue scroll-view自动回弹bug解决方案
Oct 01 Javascript
深入理解js A*寻路算法原理与具体实现过程
Dec 13 Javascript
微信小程序利用button控制条件标签的变量问题
Mar 15 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
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
学习YUI.Ext 第三天
2007/03/10 Javascript
js 禁用只读文本框获得焦点时的退格键
2010/04/25 Javascript
使用jquery自定义鼠标样式满足个性需求
2013/11/05 Javascript
jquery专业的导航菜单特效代码分享
2015/08/29 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
jquery popupDialog 使用 加载jsp页面的方法
2016/10/25 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
2016/11/30 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
2016/12/12 Javascript
基于BootStrap的前端分页带省略号和上下页效果
2017/05/18 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
2017/11/17 Javascript
JavaScript常用内置对象用法分析
2019/07/09 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
2019/09/02 Javascript
python类型强制转换long to int的代码
2013/02/10 Python
Python中的集合类型知识讲解
2015/08/19 Python
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
python重试装饰器的简单实现方法
2019/01/31 Python
Python实现直播推流效果
2019/11/26 Python
django框架ModelForm组件用法详解
2019/12/11 Python
使用Python爬虫库requests发送表单数据和JSON数据
2020/01/25 Python
Pandas的Apply函数具体使用
2020/07/21 Python
中国制造网:Made-in-China.com
2019/10/25 全球购物
几个数据库方面的面试题
2016/07/01 面试题
端口镜像是怎么实现的
2014/03/25 面试题
市三好学生主要事迹
2014/01/28 职场文书
《乡愁》教学反思
2014/02/18 职场文书
人力资源部经理助理岗位职责
2014/03/04 职场文书
投标售后服务承诺书
2015/04/29 职场文书
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android