从盛大通行证上摘下来的身份证验证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中OnLoad几种使用方法
Dec 15 Javascript
用JS将搜索的关键字高亮显示实现代码
Nov 08 Javascript
JS的事件绑定深入认识
Jun 26 Javascript
jQuery 常用代码集锦(必看篇)
May 16 Javascript
js操作数据库实现注册和登陆的简单实例
May 26 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
Aug 10 Javascript
jQuery Easyui datagrid连续发送两次请求问题
Dec 13 Javascript
关于微信jssdk实现多图片上传的一点心得分享
Dec 13 Javascript
BootStrap 弹出层代码
Feb 09 Javascript
小程序实现自定义导航栏适配完美版
Apr 02 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
Apr 02 Javascript
vue a标签点击实现赋值方式
Sep 07 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面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
2009/09/30 PHP
php获取网页请求状态程序示例
2014/06/17 PHP
Smarty中常用变量操作符汇总
2014/10/27 PHP
PHP获取一段文本显示点阵宽度和高度的方法
2015/03/12 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
利用js对象弹出一个层
2008/03/26 Javascript
$(document).ready(function() {})不执行初始化脚本
2014/06/19 Javascript
javascript继承机制实例详解
2014/11/20 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
简单了解vue中父子组件如何相互传递值(基础向)
2019/07/12 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
浅谈插入排序算法在Python程序中的实现及简单改进
2016/05/04 Python
python leetcode 字符串相乘实例详解
2018/09/03 Python
python+opencv实现阈值分割
2018/12/26 Python
python引用(import)某个模块提示没找到对应模块的解决方法
2019/01/19 Python
详解Python打包分发工具setuptools
2019/08/05 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
CSS3 animation实现简易幻灯片轮播特效
2016/09/27 HTML / CSS
iHerb俄罗斯:维生素、补品和天然产品
2020/07/09 全球购物
优秀毕业生求职信范文
2014/01/02 职场文书
《乡下孩子》教学反思
2014/04/17 职场文书
2015年林业工作总结
2015/05/14 职场文书
在职证明书模板
2015/06/15 职场文书