javascript验证身份证完全方法具体实现


Posted in Javascript onNovember 18, 2013
var certCardValid = function(id){ 
        var arrVerifyCode = [1,0,"x",9,8,7,6,5,4,3,2]; 
        var wi = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]; 
        var Checker = [1,9,8,7,6,5,4,3,2,1,1]; 
        var msg = ""; 
        if(id.length != 15 && id.length != 18) { 
            Ext.MessageBox.alert("信息提示","身份证号共有15位或18位。"); 
            return false; 
        }         var ai = id.length == 18 ?  id.substring(0,17) : id.slice(0,6) + "19" + id.slice(6,16); 
 
        if (!/^/d+$/.test(ai)) { 
            Ext.MessageBox.alert("信息提示","身份证除最后一位外,必须为数字。"); 
            return false; 
        }  
 
        var yyyy = ai.slice(6,10); 
        var mm = ai.slice(10,12)-1;  
        var dd = ai.slice(12,14); 
        var d = new Date(yyyy,mm,dd); 
        var now = new Date(); 
        var year = d.getFullYear(); 
        var mon = d.getMonth();  
        var day = d.getDate(); 
 
        if (year != yyyy || mon != mm || day != dd) { 
            Ext.MessageBox.alert("信息提示","身份证无效。"); 
            return false; 
        } 
 
        for(var i = 0,ret = 0; i < 17; i++){ 
            ret += ai.charAt(i) * wi[i]; 
        } 
        ai += arrVerifyCode[ret %= 11]; 
        ai = ai.toUpperCase(); 
 
        if(id.length == 18 && id != ai){ 
            Ext.MessageBox.alert("信息提示","身份证无效。"); 
            return false; 
        } 
        return true; 
    };
Javascript 相关文章推荐
基于JQuery的类似新浪微博展示信息效果的代码
Jul 23 Javascript
js中直接声明一个对象的方法
Aug 10 Javascript
javascript简单实现图片预加载
Dec 03 Javascript
Javascript中typeof 用法小结
May 12 Javascript
JavaScript获取中英文混合字符串长度的方法示例
Feb 04 Javascript
JS正则获取HTML元素的方法
Mar 31 Javascript
js+html5实现侧滑页面效果
Jul 15 Javascript
Material(包括Material Icon)在Angular2中的使用详解
Feb 11 Javascript
在Mac下彻底卸载node和npm的方法
May 16 Javascript
原生js实现获取form表单数据代码实例
Mar 27 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
May 22 Javascript
axios 实现post请求时把对象obj数据转为formdata
Oct 31 Javascript
Jquery通过Ajax访问XML数据的小例子
Nov 18 #Javascript
YUI模块开发原理详解
Nov 18 #Javascript
深入领悟JavaScript中的面向对象
Nov 18 #Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
Nov 18 #Javascript
ExtJS自定义主题(theme)样式详解
Nov 18 #Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
Nov 18 #Javascript
jquery cookie的用法总结
Nov 18 #Javascript
You might like
php如何连接sql server
2015/10/16 PHP
php实现简单的权限管理的示例代码
2017/08/25 PHP
Prototype Object对象 学习
2009/07/12 Javascript
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
ExtJS4 Grid改变单元格背景颜色及Column render学习
2013/02/06 Javascript
jquery用data方法获取某个元素上的事件
2014/06/23 Javascript
jQuery入门介绍之基础知识
2015/01/13 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
AngularJS中的缓存使用
2017/01/11 Javascript
Vue实现购物车功能
2017/04/27 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
2018/06/19 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
2020/04/26 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
用Python实现QQ游戏大家来找茬辅助工具
2014/09/14 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
更改Python的pip install 默认安装依赖路径方法详解
2018/10/27 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
文明礼仪小标兵事迹
2014/01/12 职场文书
质量承诺书怎么写
2014/05/24 职场文书
合伙经营协议书范本
2014/09/13 职场文书
学校师德师风自我剖析材料
2014/09/29 职场文书
高三英语复习计划
2015/01/19 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
公务员政审个人总结
2015/02/12 职场文书
公务员个人年终总结
2015/02/12 职场文书
2015年加油站站长工作总结
2015/05/27 职场文书