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 AJAX回调函数this指向问题
Feb 08 Javascript
JavaScript 设计模式 安全沙箱模式
Sep 24 Javascript
js关闭父窗口时关闭子窗口
Apr 01 Javascript
有关于eclipse配置spket需要注意的一些地方
Apr 07 Javascript
JavaScript中for-in遍历方式示例介绍
Feb 11 Javascript
返回上一页并自动刷新的JavaScript代码
Feb 19 Javascript
学习JavaScript设计模式(单例模式)
Nov 26 Javascript
简单实现轮播图效果的实例
Jul 15 Javascript
详解JavaScript按概率随机生成事件
Aug 02 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
Oct 28 Javascript
详解Vue前端生产环境发布配置实战篇
May 07 Javascript
用vue写一个日历
Nov 02 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实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
PHP中浮点数计算比较及取整不准确的解决方法
2015/01/09 PHP
thinkPHP模板中for循环与switch语句用法示例
2016/11/30 PHP
有一段有意思的代码-javascript现实多行信息
2007/08/26 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
2010/11/19 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
JavaScript纯色二维码变成彩色二维码
2020/07/23 Javascript
Three.js入门之hello world以及如何绘制线
2017/09/25 Javascript
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
Element 默认勾选表格 toggleRowSelection的实现
2019/09/04 Javascript
使用JS location实现搜索框历史记录功能
2019/12/23 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
[42:36]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第二局
2016/02/26 DOTA
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
python正则实现计算器功能
2017/12/14 Python
python 每天如何定时启动爬虫任务(实现方法分享)
2018/05/21 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
浅谈Python3多线程之间的执行顺序问题
2020/05/02 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
应届生船舶驾驶求职信
2013/10/19 职场文书
高三自我鉴定范文
2013/10/19 职场文书
求职信范文英文版
2014/01/05 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
群众路线党课主持词
2014/04/01 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
失恋33天观后感
2015/06/11 职场文书
小学英语教学随笔
2015/08/14 职场文书
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python
Python实现归一化算法详情
2022/03/18 Python