从盛大通行证上摘下来的身份证验证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 相关文章推荐
ExtJS Ext.MessageBox.alert()弹出对话框详解
Apr 02 Javascript
ajax 同步请求和异步请求的差异分析
Jul 04 Javascript
Jquery实现图片左右自动滚动示例
Sep 25 Javascript
js去空格技巧分别去字符串前后、左右空格
Oct 21 Javascript
jquery 字符串切割函数substring的用法说明
Feb 11 Javascript
文本域中换行符的替换示例
Mar 04 Javascript
javascript 拷贝节点cloneNode()使用介绍
Apr 03 Javascript
基于jQuery创建鼠标悬停效果的方法
Mar 07 Javascript
form表单转Json提交的方法(推荐)
Sep 23 Javascript
5种JavaScript脚本加载的方式
Jan 16 Javascript
vue配置多页面的实现方法
May 22 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
Sep 04 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 字符转义 注意事项
2009/05/27 PHP
新手菜鸟必读:session与cookie的区别
2013/08/22 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
php实现的SSO单点登录系统接入功能示例分析
2016/10/12 PHP
复制本贴标题和地址的js代码
2008/07/01 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
基于Jquery实现表单验证
2020/07/20 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
2017/10/19 jQuery
详解webpack编译多页面vue项目的配置问题
2017/12/11 Javascript
node版本管理工具n包使用教程详解
2018/11/09 Javascript
详解javascript中的Error对象
2019/04/25 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
tracking.js实现前端人脸识别功能
2020/04/16 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
webpack安装配置与常见使用过程详解(结合vue)
2020/06/01 Javascript
[47:42]完美世界DOTA2联赛PWL S2 GXR vs Ink 第一场 11.19
2020/11/20 DOTA
python cookielib 登录人人网的实现代码
2012/12/19 Python
Python语言的12个基础知识点小结
2014/07/10 Python
深入浅析Python中join 和 split详解(推荐)
2016/06/30 Python
python处理按钮消息的实例详解
2017/07/11 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
ERLANG和PYTHON互通实现过程详解
2019/07/05 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
2019/07/22 HTML / CSS
学子宴答谢词
2014/01/25 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
幼儿老师求职信
2014/06/30 职场文书
2016元旦文艺汇演主持词
2015/07/06 职场文书
Python编写nmap扫描工具
2021/07/21 Python
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python