从盛大通行证上摘下来的身份证验证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 相关文章推荐
关于juqery radio写法的兼容性问题(新老版本jquery)
Jun 14 Javascript
Javascript中匿名函数的多种调用方式总结
Dec 06 Javascript
JavaScript之数组(Array)详解
Apr 01 Javascript
JavaScript字符串常用类使用方法汇总
Apr 14 Javascript
javascript中checkbox使用方法实例演示
Nov 19 Javascript
jquery实现列表上下移动功能
Feb 25 Javascript
jQuery中Find选择器用法示例
Sep 21 Javascript
js实现微博发布小功能
Jan 12 Javascript
JavaScript实现简单生成随机颜色的方法
Sep 21 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
Nov 15 Javascript
详解angular应用容器化部署
Aug 14 Javascript
详解小程序开发经验:多页面数据同步
May 18 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 float不四舍五入截取浮点型字符串方法总结
2013/10/28 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
2016/09/11 PHP
PHP 年月日的三级联动实例代码
2017/05/24 PHP
用正则获取指定路径文件的名称
2007/02/27 Javascript
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
js常见表单应用技巧
2008/01/09 Javascript
一个可以兼容IE FF的加为首页与加入收藏实现代码
2009/11/02 Javascript
裁剪字符串trim()自定义改进版
2013/04/10 Javascript
Javascript 读取操作Sql中的Xml字段
2014/10/09 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
JavaScript框架是什么?怎样才能叫做框架?
2015/07/01 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
requirejs + vue 项目搭建详解
2017/06/16 Javascript
一种angular的方法级的缓存注解(装饰器)
2018/03/13 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
JavaScript this关键字的深入详解
2021/01/14 Javascript
python常见数制转换实例分析
2015/05/09 Python
python基于itchat实现微信群消息同步机器人
2017/02/27 Python
Python 读取指定文件夹下的所有图像方法
2018/04/27 Python
Python DataFrame 设置输出不显示index(索引)值的方法
2018/06/07 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
pandas DataFrame的修改方法(值、列、索引)
2019/08/02 Python
建筑专业自我鉴定
2013/10/22 职场文书
外贸采购员求职的自我评价
2013/11/26 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
公司总经理助理岗位职责
2014/07/09 职场文书
纪检干部现实表现材料
2014/08/21 职场文书
Redis 限流器
2022/05/15 Redis
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL