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 相关文章推荐
JS刷新当前页面的几种方法总结
Dec 24 Javascript
Javascript高级技巧分享
Feb 25 Javascript
JavaScript实现获得所有兄弟节点的方法
Jul 23 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
Jan 27 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
Aug 19 Javascript
微信小程序 九宫格实例代码
Jan 21 Javascript
jQuery基于正则表达式的表单验证功能示例
Jan 21 Javascript
JS操作xml对象转换为Json对象示例
Mar 25 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
Jul 05 Javascript
微信小程序实现吸顶特效
Jan 08 Javascript
简单了解常用的JavaScript 库
Jul 16 Javascript
Vue实现点击导航栏当前标签后变色功能
Aug 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基础学习小结
2011/04/17 PHP
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
百度实时推送api接口应用示例
2014/10/21 PHP
thinkphp框架实现删除和批量删除
2016/06/29 PHP
php解决DOM乱码的方法示例代码
2016/11/20 PHP
Document对象内容集合(比较全)
2010/09/06 Javascript
(jQuery,mootools,dojo)使用适合自己的编程别名命名
2010/09/14 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
2016/05/05 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
移动前端图片压缩上传的实例
2017/12/06 Javascript
Angular如何在应用初始化时运行代码详解
2018/06/11 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
jquery选择器和属性对象的操作实例分析
2020/01/10 jQuery
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
利用python模拟sql语句对员工表格进行增删改查
2017/07/05 Python
Pandas实现数据类型转换的一些小技巧汇总
2018/05/07 Python
python实现linux下抓包并存库功能
2018/07/18 Python
python实现静态服务器
2019/09/05 Python
详解Python绘图Turtle库
2019/10/12 Python
PyCharm License Activation激活码失效问题的解决方法(图文详解)
2020/03/12 Python
耐克中国官方商城:Nike中国
2018/10/18 全球购物
外企办公室竞聘演讲稿
2013/12/29 职场文书
公司年会晚宴演讲稿
2014/01/06 职场文书
环卫处个人工作总结
2015/03/04 职场文书
党员承诺书范文2015
2015/04/27 职场文书
初中毕业感言300字
2015/07/31 职场文书
python画条形图的具体代码
2022/04/20 Python