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实现yield的方法
Nov 06 Javascript
javascript计时器编写过程与实现方法
Feb 29 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
Oct 16 Javascript
详解Angualr 组件间通信
Jan 21 Javascript
微信小程序 密码输入(源码下载)
Jun 27 Javascript
Vue2.0设置全局样式(less/sass和css)
Nov 18 Javascript
vue.js使用watch监听路由变化的方法
Jul 08 Javascript
微信小程序自定义轮播图
Nov 04 Javascript
vue-cli3中vue.config.js配置教程详解
May 29 Javascript
通过实例解析JavaScript常用排序算法
Sep 02 Javascript
在vue中使用vant TreeSelect分类选择组件操作
Nov 02 Javascript
Vue+Bootstrap实现简易学生管理系统
Feb 09 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
Zend Framework入门知识点小结
2016/03/19 PHP
Laravel 创建指定表 migrate的例子
2019/10/09 PHP
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
2010/05/27 Javascript
json数据的列循环示例
2013/09/06 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
2014/08/24 Javascript
JS+CSS实现可拖动的弹出提示框
2015/02/16 Javascript
js实现同一页面多个运动效果的方法
2015/04/10 Javascript
简述Jquery与DOM对象
2015/07/10 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
2016/04/08 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
Vue.js实现价格计算器功能
2020/03/30 Javascript
jquery中done和then的区别(详解)
2017/12/19 jQuery
实现jquery放大镜的两种方法
2018/02/22 jQuery
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
vue使用vant中的checkbox实现全选功能
2020/11/17 Vue.js
原生js+canvas实现验证码
2020/11/29 Javascript
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
python中as用法实例分析
2015/04/30 Python
深入浅析ImageMagick命令执行漏洞
2016/10/11 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
Python实现的ftp服务器功能详解【附源码下载】
2019/06/26 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
PyQt5 控件字体样式等设置的实现
2020/05/13 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
梅西百货官网:Macy’s
2020/08/04 全球购物
生育关怀行动实施方案
2014/03/26 职场文书
冬季施工防火方案
2014/05/17 职场文书
2019学生会干事辞职信
2019/06/27 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
golang 实现并发求和
2021/05/08 Golang
jupyter notebook保存文件默认路径更改方法汇总(亲测可以)
2021/06/09 Python
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫