从盛大通行证上摘下来的身份证验证js代码


Posted in Javascript onJanuary 11, 2011
<script language="javascript" type="text/javascript"> 
function CheckIdCardField(v_card) { 
var reg = /^\d{15}(\d{2}[0-9X])?$/i; 
if (!reg.test(v_card)) { 
return false; 
} 
if (v_card.length == 15) { 
var n = new Date(); 
var y = n.getFullYear(); 
if (parseInt("19" + v_card.substr(6, 2)) < 1900 || parseInt("19" + v_card.substr(6, 2)) > y) { 
return false; 
} 
var birth = "19" + v_card.substr(6, 2) + "-" + v_card.substr(8, 2) + "-" + v_card.substr(10, 2); 
if (!isDate(birth)) { 
return false; 
} 
} 
if (v_card.length == 18) { 
var n = new Date(); 
var y = n.getFullYear(); 
if (parseInt(v_card.substr(6, 4)) < 1900 || parseInt(v_card.substr(6, 4)) > y) { 
return false; 
} 
var birth = v_card.substr(6, 4) + "-" + v_card.substr(10, 2) + "-" + v_card.substr(12, 2); 
if (!isDate(birth)) { 
return false; 
} 
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; 
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; 
} 
} 
return true; 
} 
</script>
Javascript 相关文章推荐
JQuery动态创建DOM、表单元素的实现代码
Aug 09 Javascript
extjs4 treepanel动态改变行高度示例
Dec 17 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
Mar 28 Javascript
jquery中post方法用法实例
Oct 21 Javascript
《JavaScript函数式编程》读后感
Aug 07 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
Oct 08 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
Nov 17 Javascript
Angularjs过滤器使用详解
May 25 Javascript
树结构之JavaScript
Jan 24 Javascript
Node.js学习教程之HTTP/2服务器推送【译】
Oct 31 Javascript
详解redux异步操作实践
Aug 15 Javascript
Vue 2.0 侦听器 watch属性代码详解
Jun 19 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
Jan 11 #Javascript
javascript获取当前日期时间及其它操作函数
Jan 11 #Javascript
JavaScript中URL编码函数代码
Jan 11 #Javascript
Jquery跨域获得Json时invalid label错误的解决办法
Jan 11 #Javascript
JS无限树状列表实现代码
Jan 11 #Javascript
jQuery UI的Dialog无法提交问题的解决方法
Jan 11 #Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
Jan 11 #Javascript
You might like
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
ThinkPHP之R方法实例详解
2014/06/20 PHP
关于PHP文件的自动运行方法分析
2016/05/13 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
2016/10/20 PHP
PHP中的访问修饰符简单比较
2019/02/02 PHP
几行代码轻松搞定jquery实现flash8类似的连接效果
2007/05/03 Javascript
jQuery 对象中的类数组操作
2009/04/27 Javascript
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
2014/03/14 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
理解jquery事件冒泡
2016/01/03 Javascript
JavaScript对象创建模式实例汇总
2016/10/03 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
js实现鼠标左右移动,图片也跟着移动效果
2017/01/25 Javascript
vue cli构建的项目中请求代理与项目打包问题
2018/02/26 Javascript
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
Vue formData实现图片上传
2019/08/20 Javascript
使用Python抓取模板之家的CSS模板
2015/03/16 Python
python操作ie登陆土豆网的方法
2015/05/09 Python
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
如何在Python中编写并发程序
2016/02/27 Python
Python中常用的8种字符串操作方法
2019/05/06 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
Pycharm+Python工程,引用子模块的实现
2020/03/09 Python
详解Python中的编码问题(encoding与decode、str与bytes)
2020/09/30 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
英国儿童图书网站:Scholastic
2017/03/26 全球购物
意大利一家专营包包和配饰的网上商店:Borse Last Minute
2019/08/26 全球购物
小学生读书活动总结
2014/06/30 职场文书
以幸福为主题的活动方案
2014/08/22 职场文书
2015年银行柜员工作总结报告
2015/04/01 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
毕业生自我鉴定范文
2019/05/13 职场文书
如何写一份具有法律效力的借款协议书?
2019/07/02 职场文书
React 高阶组件HOC用法归纳
2021/06/13 Javascript
MySQL修炼之联结与集合浅析
2021/10/05 MySQL