从盛大通行证上摘下来的身份证验证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中的对象和数组的应用技巧
Jan 07 Javascript
javascript 图片裁剪技巧解读
Nov 15 Javascript
dwz 如何去掉ajaxloading具体代码
May 22 Javascript
javascript eval(func())使用示例
Dec 05 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
May 12 Javascript
JavaScript设计模式之策略模式实例
Oct 10 Javascript
浅谈JavaScript正则表达式分组匹配
Apr 10 Javascript
vue.js指令v-for使用及索引获取
Nov 03 Javascript
JS自定义混合Mixin函数示例
Nov 26 Javascript
react实现菜单权限控制的方法
Dec 11 Javascript
Vue动态加载异步组件的方法
Nov 21 Javascript
JS实现多功能计算器
Oct 28 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
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
2017/05/11 PHP
php微信开发之图片回复功能
2018/06/14 PHP
调试php程序的简单步骤
2019/10/04 PHP
理解Javascript_08_函数对象
2010/10/15 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
bootstrap模态框实现拖拽效果
2016/12/14 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
vue3.0 搭建项目总结(详细步骤)
2019/05/20 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
Vue 实现拨打电话操作
2020/11/16 Javascript
javascript实现前端分页功能
2020/11/26 Javascript
[01:23:45]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第一场 1月22日
2021/03/11 DOTA
Python中IPYTHON入门实例
2015/05/11 Python
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
Python 加密的实例详解
2017/10/09 Python
tensorflow实现KNN识别MNIST
2018/03/12 Python
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
python实现文件的分割与合并
2019/08/29 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
毕业生自荐信范文
2015/03/05 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python
改造DE1103三步曲
2022/04/07 无线电