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 相关文章推荐
网页javascript精华代码集
Jan 24 Javascript
javascript 限制输入和粘贴(IE,firefox测试通过)
Nov 14 Javascript
EXT窗口Window及对话框MessageBox
Jan 27 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
Dec 30 Javascript
js控制input框只读实现示例
Jan 20 Javascript
Javascript 计算字符串在localStorage中所占字节数
Oct 21 Javascript
Bootstrap实现水平排列的表单
Jul 04 Javascript
JavaScript使用readAsDataUrl方法预览图片
May 10 Javascript
详解vue.js下引入百度地图jsApi的两种方法
Jul 27 Javascript
vue异步axios获取的数据渲染到页面的方法
Aug 09 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
Apr 10 Javascript
vue简单练习 桌面时钟的实现代码实例
Sep 19 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连接失败问题及解决办法
2009/08/07 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
JS 操作符整理[推荐收藏]
2011/11/15 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
extjs 如何给column 加上提示
2014/07/29 Javascript
jquery中val()方法是从最后一个选项往前读取的
2015/09/06 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
angularjs使用directive实现分页组件的示例
2017/02/07 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
详解小程序BackgroundAudioManager踩坑之旅
2019/12/08 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
Python 自动刷博客浏览量实例代码
2017/06/14 Python
python生成ppt的方法
2018/06/07 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
英国Amara家居法国网站:家居装饰,现代装饰和豪华礼品
2016/12/15 全球购物
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
给民警的表扬信
2014/01/08 职场文书
中专生职业生涯规划书范文
2014/01/10 职场文书
企业精细化管理实施方案
2014/03/23 职场文书
项目合作意向书范本
2014/04/01 职场文书
委托协议书范本
2014/04/22 职场文书
安全标兵事迹材料
2014/08/17 职场文书
教师党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
夫妻分居协议书范本
2014/11/28 职场文书
2014小学二年级班主任工作总结
2014/12/05 职场文书
职工年度考核评语
2014/12/31 职场文书
长城的导游词
2015/01/30 职场文书
公司年会晚会开幕词
2019/04/02 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
PHP实现rar解压读取扩展包小结
2021/06/03 PHP
Vue3实现简易音乐播放器组件
2022/08/14 Vue.js