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 相关文章推荐
Highslide.js是一款基于js实现的网页中图片展示插件
Mar 30 Javascript
javascript 定义初始化数组函数
Sep 07 Javascript
JQuery 遮罩层实现(mask)实现代码
Jan 09 Javascript
基于jquery实现无限级树形菜单
Mar 22 Javascript
location.hash保存页面状态的技巧
Apr 28 Javascript
JavaScript组件开发之输入框加候选框
Mar 10 Javascript
JS匹配日期和时间的正则表达式示例
May 12 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
Sep 19 jQuery
AngularJS实现图片上传和预览功能的方法分析
Nov 08 Javascript
详解如何在Vue项目中导出Excel
Apr 19 Javascript
微信小程序云开发使用方法新手初体验
May 16 Javascript
javascript Number 与 Math对象的介绍
Nov 17 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接收POST数据,解析json数据
2013/06/28 PHP
php实现下载限制速度示例分享
2014/02/13 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
php自定义时间转换函数示例
2016/12/07 PHP
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
jQuery实现的多级下拉菜单效果代码
2015/08/24 Javascript
用JS生成UUID的方法实例
2016/03/30 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
JS中微信小程序自定义底部弹出框
2016/12/22 Javascript
jQuery+PHP+Mysql实现抽奖程序
2020/04/12 jQuery
基于vue1和vue2获取dom元素的方法
2018/03/17 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
python万年历实现代码 含运行结果
2017/05/20 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
浅谈Tensorflow 动态双向RNN的输出问题
2020/01/20 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
python如何爬取动态网站
2020/09/09 Python
HTML5 SEO优化的一些建议
2020/08/27 HTML / CSS
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
上班玩手机检讨书
2014/02/17 职场文书
借款协议书范本
2014/04/22 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
预防煤气中毒方案
2014/06/16 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
婚内房产协议书范本
2014/10/02 职场文书
mysql升级到5.7时,wordpress导数据报错1067的问题
2021/05/27 MySQL
一篇带你入门Java垃圾回收器
2021/06/16 Java/Android
Go并发4种方法简明讲解
2022/04/06 Golang
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js
sql server偶发出现死锁的解决方法
2022/04/10 SQL Server
python高温预警数据获取实例
2022/07/23 Python