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 当前日期转化为中文的实现代码
May 13 Javascript
JavaScript实现的经典文件树菜单效果
Sep 08 Javascript
js实现的后台左侧管理菜单代码
Sep 11 Javascript
js中Number数字数值运算后值不对的解决方法
Feb 28 Javascript
JavaScript事件处理程序详解
Sep 19 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
Oct 26 Javascript
React-native桥接Android原生开发详解
Jan 17 Javascript
React Native自定义控件底部抽屉菜单的示例
Feb 08 Javascript
Vue 组件注册实例详解
Feb 23 Javascript
利用es6 new.target来对模拟抽象类的方法
May 10 Javascript
JavaScript检测是否开启了控制台(F12调试工具)
Oct 02 Javascript
如何使用gpu.js改善JavaScript的性能
Dec 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中把对象数组转换成普通数组的方法
2015/07/10 PHP
ThinkPHP的常用配置选项汇总
2016/03/24 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
2016/07/25 PHP
php强制下载文件函数
2016/08/24 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
跟我学习javascript的定时器
2015/11/19 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
2016/01/26 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
基于Vue生产环境部署详解
2017/09/15 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
js实现中文实时时钟
2020/01/15 Javascript
vue滑动吸顶及锚点定位的示例代码
2020/05/10 Javascript
python中mechanize库的简单使用示例
2014/01/10 Python
在python中的socket模块使用代理实例
2014/05/29 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
Python实现删除时保留特定文件夹和文件的示例
2018/04/27 Python
python cs架构实现简单文件传输
2020/03/20 Python
dataframe 按条件替换某一列中的值方法
2019/01/29 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
python 实现快速生成连续、随机字母列表
2019/11/28 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
pytorch ImageFolder的覆写实例
2020/02/20 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
2020/03/19 Python
Python count函数使用方法实例解析
2020/03/23 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
德国拖鞋网站:German Slippers
2019/11/08 全球购物
办公室文书岗位职责
2013/12/16 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2014年民政工作总结
2014/11/26 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书
交通事故调解协议书
2015/05/20 职场文书
招商银行收入证明
2015/06/17 职场文书
晚会开幕词范文
2016/03/04 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python