从盛大通行证上摘下来的身份证验证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 相关文章推荐
JavaScript几种形式的树结构菜单
May 10 Javascript
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
Jul 10 Javascript
JQuery触发radio或checkbox的change事件
Dec 18 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
Nov 21 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
Feb 12 Javascript
js获取json元素数量的方法
Jan 27 Javascript
jQuery oLoader实现的加载图片和页面效果
Mar 14 Javascript
jQuery实现网站添加高亮突出显示效果的方法
Jun 26 Javascript
js实现三张图(文)片一起切换的banner焦点图
Aug 25 Javascript
小程序实现五星点评效果
Nov 03 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
Aug 25 Javascript
详解Vue数据驱动原理
Nov 17 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下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
一个选择最快的服务器转向代码
2009/04/27 Javascript
读jQuery之四(优雅的迭代)
2011/06/20 Javascript
javascript中parentNode,childNodes,children的应用详解
2013/12/17 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
JS控件bootstrap suggest plugin使用方法详解
2017/03/25 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
[01:00:26]Ti4主赛事胜者组第一天 EG vs NEWBEE 1
2014/07/19 DOTA
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
python八大排序算法速度实例对比
2017/12/06 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
简单了解Python write writelines区别
2020/02/27 Python
python中round函数如何使用
2020/06/19 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
2019/07/22 HTML / CSS
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
车间副主任岗位职责
2013/12/24 职场文书
电子商务助理求职自荐信
2014/04/10 职场文书
电子装配专业毕业生求职信
2014/04/23 职场文书
企业文化标语大全
2014/06/10 职场文书
2014年文明创建工作总结
2014/11/25 职场文书
酒店辞职书怎么写
2015/02/26 职场文书
2015年教研工作总结
2015/05/23 职场文书
承兑汇票延期证明
2015/06/23 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书
七年级作文之英语老师
2019/10/28 职场文书
python实现高效的遗传算法
2021/04/07 Python
vue ref如何获取子组件属性值
2022/03/31 Vue.js
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL