从盛大通行证上摘下来的身份证验证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 相关文章推荐
Js 中debug方式
Feb 07 Javascript
jquery 插件学习(三)
Aug 06 Javascript
ExtJS自定义主题(theme)样式详解
Nov 18 Javascript
Javascript实现Array和String互转换的方法
Dec 21 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
Jul 27 Javascript
ionic实现滑动的三种方式
Aug 27 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
Dec 17 Javascript
JS作用域深度解析
Dec 29 Javascript
js 颜色选择插件
Jan 23 Javascript
jQuery实现弹窗居中效果类似alert()
Feb 27 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
Apr 07 Javascript
原生javascript制作的拼图游戏实现方法详解
Feb 23 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
php学习笔记之面向对象编程
2012/12/29 PHP
php如何获取文件的扩展名
2015/10/28 PHP
PHP实现操作redis的封装类完整实例
2015/11/14 PHP
用脚本调用样式的几种方法
2006/12/09 Javascript
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
javascript 一段左右两边随屏滚动的代码
2009/06/18 Javascript
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
只需20行代码就可以写出CSS覆盖率测试脚本
2013/04/24 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
javascript+html5实现绘制圆环的方法
2015/07/28 Javascript
探究JavaScript函数式编程的乐趣
2015/12/14 Javascript
jQuery 插件封装的方法
2016/11/16 Javascript
JavaScript字符串对象(string)基本用法示例
2017/01/18 Javascript
VUE axios上传图片到七牛的实例代码
2017/07/28 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
微信小程序tab左右滑动切换功能的实现代码
2021/02/08 Javascript
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
基于Python __dict__与dir()的区别详解
2017/10/30 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
Hunkemöller瑞士网上商店:欧洲最大的内衣品牌之一
2018/12/03 全球购物
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
护士毕业生自荐信
2014/02/07 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
高职教师先进事迹材料
2014/08/24 职场文书
简单租房协议书
2014/10/21 职场文书
2014年财政局工作总结
2014/12/09 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL