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基础的动画教程,直观易懂
Jan 10 Javascript
前台js调用后台方法示例
Dec 02 Javascript
兼容主流浏览器的iframe自适应高度js脚本
Jan 10 Javascript
JavaScript把数组作为堆栈使用的方法
Mar 20 Javascript
js实现跨域的方法实例详解
Jun 24 Javascript
详解webpack + react + react-router 如何实现懒加载
Nov 20 Javascript
如何让node运行es6模块文件及其原理详解
Dec 11 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
Feb 26 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
Mar 28 Javascript
微信小程序实现左侧滑栏过程解析
Aug 26 Javascript
JS this关键字在ajax中使用出现问题解决方案
Jul 17 Javascript
微信小程序canvas动态时钟
Oct 22 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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
用js重建星际争霸
2006/12/22 Javascript
使用ajax+jqtransform实现动态加载select
2014/12/01 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
Easyui Treegrid改变默认图标的方法
2016/04/29 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
JavaScript实现多栏目切换效果
2016/12/12 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
详解vue axios中文文档
2017/09/12 Javascript
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
微信小程序调用摄像头隐藏式拍照功能
2018/08/22 Javascript
JS中判断字符串存在和非空的方法
2018/09/12 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
2019/01/08 Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
2019/03/04 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
javascript简单实现深浅拷贝过程详解
2019/10/08 Javascript
[03:17]DOTA2英雄基础教程 剧毒术士
2013/12/12 DOTA
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
解决Python中字符串和数字拼接报错的方法
2016/10/23 Python
python通过链接抓取网站详解
2019/11/20 Python
Python ConfigParser模块的使用示例
2020/10/12 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
英国皇家造币厂:The Royal Mint
2018/10/05 全球购物
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
养牛场项目建议书
2014/05/13 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
英语读书笔记
2015/07/02 职场文书
图书借阅制度范本
2015/08/06 职场文书
小学毕业教师寄语
2019/06/21 职场文书
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL