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 相关文章推荐
jQuery 锚点跳转滚动条平滑滚动一句话代码
Apr 30 Javascript
Webkit的跨域安全问题说明
Sep 13 Javascript
基于jQuery的输入框在光标位置插入内容, 并选中
Oct 29 Javascript
jQuery遍历Table应用示例
Apr 09 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
Feb 20 Javascript
javascript实现的简单计时器
Jul 19 Javascript
纯JS实现表单验证实例
Dec 24 Javascript
Vue.js 2.0中select级联下拉框实例
Mar 06 Javascript
Angular项目从新建、打包到nginx部署全过程记录
Dec 09 Javascript
vue+axios+promise实际开发用法详解
Oct 15 Javascript
深入理解JavaScript的值传递和引用传递
Oct 24 Javascript
微信小程序用户盒子、宫格列表的实现
Jul 01 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 miniBB中文乱码问题解决方法
2008/11/25 PHP
PHP MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
2015/03/10 PHP
新手入门常用代码集锦
2007/01/11 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
浅谈JavaScript 浏览器对象
2016/06/03 Javascript
jQuery Validate表单验证插件的基本使用方法及功能拓展
2017/01/04 Javascript
简单实现jQuery多选框功能
2017/01/09 Javascript
微信小程序如何获取用户手机号
2018/01/26 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
Vue插槽原理与用法详解
2019/03/05 Javascript
IE11下处理Promise及Vue的单项数据流问题
2019/07/24 Javascript
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
2020/05/26 Javascript
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
Python实现telnet服务器的方法
2015/07/10 Python
Python二叉搜索树与双向链表转换实现方法
2016/04/29 Python
Python set常用操作函数集锦
2017/11/15 Python
Python有序查找算法之二分法实例分析
2017/12/11 Python
Python决策树和随机森林算法实例详解
2018/01/30 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
NumPy 数组使用大全
2019/04/25 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
python中如何设置代码自动提示
2020/07/15 Python
什么是SCM(软件配置管理)
2014/08/16 面试题
园长自我鉴定
2013/10/06 职场文书
保安部任务及岗位职责
2014/02/25 职场文书
创先争优承诺书范文
2014/03/31 职场文书
食品安全责任书
2014/04/15 职场文书
城市创卫标语
2014/06/17 职场文书
廉洁自律证明
2015/06/24 职场文书
开学第一天的感想
2015/08/10 职场文书