从盛大通行证上摘下来的身份证验证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 相关文章推荐
js 字符串转换成数字的三种方法
Mar 23 Javascript
鼠标滚轮改变图片大小的示例代码
Nov 20 Javascript
用js判断是否为360浏览器的实现代码
Jan 15 Javascript
Node.js中npm常用命令大全
Jun 09 Javascript
学习掌握JavaScript中this的使用技巧
Aug 29 Javascript
jQuery使用Layer弹出层插件闪退问题
Dec 22 Javascript
jQuery解析返回的xml和json方法详解
Jan 05 Javascript
Node+Express+MongoDB实现登录注册功能实例
Apr 23 Javascript
Layui数据表格之获取表格中所有的数据方法
Aug 20 Javascript
Vue通过配置WebSocket并实现群聊功能
Dec 31 Javascript
VSCode搭建React Native环境
May 07 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
Jun 29 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中文本操作的类
2007/03/17 PHP
第4章 数据处理-php数组的处理-郑阿奇
2011/07/04 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
零基础php编程好学吗
2019/10/11 PHP
PHP二维数组分页2种实现方法解析
2020/07/09 PHP
jQuery选择头像并实时显示的代码
2010/06/27 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
JQuery 图片滚动轮播示例代码
2014/03/24 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
2016/06/25 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
详解nodeJs文件系统(fs)与流(stream)
2018/01/24 NodeJs
vue单个组件实现无限层级多选菜单功能
2018/04/10 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
Python实现购物程序思路及代码
2017/07/24 Python
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
Python实现聊天机器人的示例代码
2018/07/09 Python
Python中字符串与编码示例代码
2019/05/20 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
Tensorflow分批量读取数据教程
2020/02/07 Python
python 基于卡方值分箱算法的实现示例
2020/07/17 Python
阻止移动设备(手机、pad)浏览器双击放大网页的方法
2014/06/03 HTML / CSS
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
创新比赛获奖感言
2014/02/13 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
群众路线教育实践活动思想汇报(2014特荐篇)
2014/09/16 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
盗窃案辩护词
2015/05/21 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
清洁工工作总结
2015/08/11 职场文书
CSS3 制作的书本翻页特效
2021/04/13 HTML / CSS
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技
vue选项卡切换的实现案例
2022/04/11 Vue.js