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使用prototype定义对象类型(转)[
Dec 22 Javascript
分享XmlHttpRequest调用Webservice的一点心得
Jul 20 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
Aug 21 Javascript
bootstrap快速制作后台界面
Dec 05 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
Mar 08 Javascript
ES6生成器用法实例分析
Apr 10 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
Apr 22 Javascript
Cpage.js给组件绑定事件的实现代码
Aug 31 Javascript
JavaScript实现简单的文本逐字打印效果示例
Apr 12 Javascript
vue fetch中的.then()的正确使用方法
Apr 17 Javascript
Openlayers实现图形绘制
Sep 28 Javascript
vue element-ul实现展开和收起功能的实例代码
Nov 25 Vue.js
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与C#分别格式化文件大小的代码
2011/05/14 PHP
通过缓存数据库结果提高PHP性能的原理介绍
2012/09/05 PHP
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
php使用sql server验证连接数据库的方法
2014/12/25 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
把input初始值不写value的具体实现方法
2013/07/04 Javascript
Javascript堆排序算法详解
2014/12/03 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
2016/09/09 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
快速解决vue-cli不能初始化webpack模板的问题
2018/03/20 Javascript
微信小程序实现笑脸评分功能
2018/11/03 Javascript
JS创建自定义对象的六种方法总结
2020/12/15 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
python元组操作实例解析
2014/09/23 Python
Python使用gensim计算文档相似性
2016/04/10 Python
Python for循环生成列表的实例
2018/06/15 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
python中aioysql(异步操作MySQL)的方法
2019/04/11 Python
PyQt5实现暗黑风格的计时器
2019/07/29 Python
python的slice notation的特殊用法详解
2019/12/27 Python
pytorch forward两个参数实例
2020/01/17 Python
Python如何发送与接收大型数组
2020/08/07 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
高中体育教学反思
2014/01/29 职场文书
英文求职信范文
2014/05/23 职场文书
村党支部书记承诺书
2014/05/29 职场文书
音乐节策划方案
2014/06/09 职场文书
体育教师求职信
2014/06/30 职场文书
2014年行政部工作总结
2014/11/19 职场文书
高考满分作文赏析(2篇)
2019/08/12 职场文书
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS