当前位置: 首页 > 编程日记 > 正文

身份证号码验证-支持新的带x身份证

//--身份证号码验证-支持新的带x身份证
function isIdCardNo(num) 
{
    
var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
    
var error;
    
var varArray = new Array();
    
var intValue;
    
var lngProduct = 0;
    
var intCheckDigit;
    
var intStrLen = num.length;
    
var idNumber = num;    
    
// initialize
    if ((intStrLen != 15&& (intStrLen != 18)) {
        
//error = "输入身份证号码长度不对!";
        //alert(error);
        //frmAddUser.txtIDCard.focus();
        return false;
    }    
    
// check and set value
    for(i=0;i<intStrLen;i++) {
        varArray[i] 
= idNumber.charAt(i);
        
if ((varArray[i] < '0' || varArray[i] > '9'&& (i != 17)) {
            
//error = "错误的身份证号码!.";
            //alert(error);
            //frmAddUser.txtIDCard.focus();
            return false;
        } 
else if (i < 17) {
            varArray[i] 
= varArray[i]*factorArr[i];
        }
    }
    
if (intStrLen == 18) {
        
//check date
        var date8 = idNumber.substring(6,14);
        
if (checkDate(date8) == false) {
            
//error = "身份证中日期信息不正确!.";
            //alert(error);
            return false;
        }        
        
// calculate the sum of the products
        for(i=0;i<17;i++) {
            lngProduct 
= lngProduct + varArray[i];
        }        
        
// calculate the check digit
        intCheckDigit = 12 - lngProduct % 11;
        
switch (intCheckDigit) {
            
case 10:
                intCheckDigit 
= 'X';
                
break;
            
case 11:
                intCheckDigit 
= 0;
                
break;
            
case 12:
                intCheckDigit 
= 1;
                
break;
        }        
        
// check last digit
        if (varArray[17].toUpperCase() != intCheckDigit) {
            
//error = "身份证效验位错误!...正确为: " + intCheckDigit + ".";
            //alert(error);
            return false;
        }
    } 
    
else{        //length is 15
        //check date
        var date6 = idNumber.substring(6,12);
        
if (checkDate(date6) == false) {
            
//alert("身份证日期信息有误!.");
            return false;
        }
    }
    
//alert ("Correct.");
    return true;
}

相关文章:

装上后这 14 个插件后,PyCharm 真的是无敌的存在

来源 | Python编程时光作者 | 写代码的明哥Key Promoter X如果让我给新手推荐一个 PyCharm 必装插件&#xff0c;那一定是 Key Promoter X 。它就相当于一个快捷键管理大师&#xff0c;它时刻地在&#xff1a;教导你&#xff0c;当下你的这个操作&#xff0c;应该使用哪个快捷…

批量实现面向对象的实例

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>批量实现面向对象的实例</title> <script type"text/javascript"> window.onload function(){function Person(name,age){this.name name;this.…

读Zepto源码之操作DOM

2019独角兽企业重金招聘Python工程师标准>>> 这篇依然是跟 dom 相关的方法&#xff0c;侧重点是操作 dom 的方法。 读Zepto源码系列文章已经放到了github上&#xff0c;欢迎star: reading-zepto 源码版本 本文阅读的源码为 zepto1.2.0 .remove() remove: function()…

VSS的每日自动备份

小弟在项目中兼职担当配置管理员&#xff0c;备份VSS的重任当然也得我来扛着&#xff0c;不然兄弟们加班加点的劳动果实可能因为什么天灾人祸一不小心就挂了。以往备份VSS的频率是一月一次&#xff0c;近来受到上面的教导&#xff0c;备份频率较少&#xff0c;需要每日备份。难…

当 AI 闯入法律界,第一步是当律师的得力助手

来源 | HyperAI超神经责编 | 晋兆雨头图 | CSDN 下载自视觉中国长久以来&#xff0c;律师这一职业给大众的印象都是精英、雄辩、高薪&#xff0c;而这份工作背后的艰辛却很少被看到。除了出庭之外&#xff0c;律师们要花费大量时间与经历进行法律资料研究、合同文件审查等。为此…

Ubuntu下添加新分区并设置挂载点

Ubuntu下添加新分区并设置挂载点最近在做Android项目&#xff0c;可是解压根文件系统以后&#xff0c;就报警说硬盘不够。当初设置使用的大小为15G。不过扩展分区还是很方便的。当然首先你得设置添加使用的硬盘大小&#xff0c;这次我一下提高到了30G&#xff0c;看它还报警否。…

2016 只剩最后一个月 你的 技术债务 还清了吗?

一夜醒来&#xff0c;猛然发现&#xff0c;2016 已经只剩最后一个月了&#xff01; 回忆过去的 330 多个日与夜&#xff0c;哪些互联网圈的大事让你瞠目结舌&#xff1f; 也许是 AlphaGo 在堪称人脑游戏巅峰的围棋领域屡战告捷&#xff1b; 也许是 Pokmon Go 称霸大洋彼岸&…

给图片加上带版权的水印

我们在网站上有些时候需要给图片加上带版权的水印&#xff0c;.net的Graphics类可以很轻松的实现这一点。效果图&#xff1a;&#xff08;图片最上端的那行字便是我们加上的版权水印了&#xff09;实现代码&#xff1a; /**//// <summary> /// 生成带版权水印的图片 …

重磅推出开发者计划、App Store,赛灵思普及自适应计算的一大步

得开发者得天下。尤其随着AI技术落地趋势加剧&#xff0c;其中大部分创新来自软件应用&#xff0c;市场对软件开发者有着极大需求。因此&#xff0c;无论是互联网公司还是传统的IT厂商都在尝试将开发者沉淀到自己的平台。 作为FPGA的开创者&#xff0c;赛灵思正在突破主要支持硬…

Web 开发人员必备的随机 JSON 数据生成工具

在 Web 开发中&#xff0c;经常会需要一些测试数据来测试接口或者功能时候正确。JSON Generator 就是这样一款生成随机 JSON 数据的在线工具&#xff0c;Web 开发人员必备&#xff0c;记得收藏和分享啊。 您可能感兴趣的相关文章Verlet-js&#xff1a;超炫的开源 JavaScript 物…

bootstrap解析-栅格系统

.container(布局容器) 屏幕宽1200px以上&#xff08;col-lg&#xff09; 1. 默认width为1170px 2. padding,lefet和right各为15px,所以内容width为1140px;屏幕宽992px以上(col-md) 1. 默认width为970px 2. padding,lefet和right各为15px,所以内容width为940px;屏幕宽768px以上(…

asp.net中窗口相关操作总结(javascript)

1.打开新窗口 这个简单:Response.Write("<script language javascript>window.open(url);</script>"); 2.关闭窗口 //关闭当前窗口,并提示用户时候关闭,yes关闭,no退出 Response.Write("<script language javascript>window.close();</sc…

200万注册开发者,13亿张全景图片,90%数据生产环节AI化,百度地图生态全景升级2.0

12月29日&#xff0c; 2020百度地图生态大会在京举办。据介绍&#xff0c;在AI技术加持下&#xff0c;百度地图实现了90%数据生产环节AI化&#xff0c;全新升级生态全景2.0。 百度集团副总裁、百度集团首席信息官(CIO)李莹出席大会并致辞&#xff0c;她表示&#xff1a;“在20…

Sqlite3数据库之第三方库FMDB学习心得

很早之前就接触Sqlite数据库,但是之前对数据库操作未使用任何第三方库,只是实现基本的增、删、改、查功能,自己对着一本iPhone开发入门级的书籍写了一个类,基本能实现上述四个功能。最近在开发一个软件&#xff0c;由于是一个本地应用&#xff0c;经过再三思量&#xff0c;最好…

您会让自己的小孩将来从事软件研发吗?

您会让自己的小孩将来从事软件研发吗&#xff1f;非常多程序猿&#xff0c;都已经30多岁了。过了而立之年&#xff0c;有了自己的老婆&#xff0c;自己温馨的小家庭&#xff0c;自己可爱的小孩。小孩也都是00后的。“您会让自己的孩子从事软件研发吗&#xff1f;”本来小孩的事…

CSDN湘苗培优|成长,从走出舒适区开始

湘苗培优CSDN高校俱乐部报名火热进行中&#xff01;基础训练交付训练实践练习湘苗培优 随着我国信息产业飞速发展&#xff0c;通过常规灌输式培养出来的学员已经不能够满足企业要求。企业更缺乏的是具备自主学习能力、具备综合解决问题能力的高素质技术人才。高素质技术人才需要…

使用VS自带的混淆器防止你的程序被反编译

这里就介绍大家使用VS自带的混淆器dotfuscator.exe来阻止这种行为。首先要做的找到dotfuscator.exe&#xff1a; D:/Microsoft Visual Studio .NET 2003/PreEmptive Solutions/Dotfuscator Community Edition运行dotfuscator.exe首先是是否注册的界面&#xff0c;先不注册吧&am…

【124】排球基本技术

排球基本技术 1.基本技术的概念 是指在规则允许的条件下&#xff0c;运用人体解剖和运动生物力学的原理&#xff0c;所采用的合理击球和完成击球动作的其他配合的总称。 2.排球技术的特点 &#xff08;1&#xff09;完成动作时间短促&#xff1b; &#xff08;2&#xff09;完成…

FairyGUI和NGUI对比

一直在做Unity方面的游戏开发&#xff0c;经同事介绍了解到有这么一个GUI能提供跨平台的能力&#xff0c;有独立UI编辑器&#xff0c;而且功能强大&#xff0c;能够组合成复杂的UI界面&#xff0c;可以导出到Unity,Flash,Starling等&#xff0c;文档还说未来将支持UE4&#xff…

用like语句时的C#格式化函数

*********************************************************************************** * 版权声明 * 此文章为ocean所有&#xff0c;版权归ocean所有&#xff0c;任何网站 *和 媒体转载必须包含此段声明&#xff0c;否则将…

JS-arguments分析

JS-arguments分析waiting……转载于:https://blog.51cto.com/frabbit2013/1242112

200万注册开发者,13亿全景图片,90%数据生产AI化,百度地图如何造生态?

12月29日&#xff0c; 2020百度地图生态大会在京举办。据悉&#xff0c;在AI技术加持下&#xff0c;百度地图实现了90%数据生产环节AI化&#xff0c;并全新升级生态全景2.0。围绕百度地图2020年的各项进展&#xff0c;百度地图总经理季永志做出了全方面回顾&#xff0c;并展示了…

内核中的内存申请:kmalloc、vmalloc、kzalloc、kcalloc、get_free_pages【转】

转自&#xff1a;http://www.cnblogs.com/yfz0/p/5829443.html 在内核模块中申请分配内存需要使用内核中的专用API:kmalloc、vmalloc、kzalloc、kcalloc、get_free_pages;当然,设备驱动程序也不例外;对于提供了MMU功能的处理器而言,Linux提供了复杂的内存管理系统,使得进程所能…

以实例说明如何使用C#从数据库中提取数据,按要求自动生成定制的Excel表格

最近因为需要学习了一下使用C#操作Excel表格&#xff0c;现在把我使用C#如何定制表格的过程提供给需要的兄弟&#xff1a; /*从数据库提取数据*/ string strconn"packet size4096;user idsa;data sourcelocalhost;persist security infoTrue;initial catalogDatabase;pa…

7_7_2013 E.Function

2019独角兽企业重金招聘Python工程师标准>>> Problem E: Function Time Limit: 1 Sec Memory Limit: 32 MB Submit: 52 Solved: 26 [ Submit][ Status][ Web Board] Description Define a function f(n)(f(n-1)1)/f(n-2). You already got f(1) and f(2). Now…

快手日入数据量超 5120TB,数据管治如何做?

​近日&#xff0c;快手大数据团队联合“快手中学”&#xff0c;举办“快手数据管治技术交流会”&#xff0c;各行业数据相关开发者报名参与。在海量的 UGC 数据、业务数据、用户数据背后&#xff0c;支撑快手数据业务的快手大数据平台&#xff0c;秉承“以领先的大数据技术&am…

LINUX创建www的用户组和用户,并且不允许登录权限:

# id www id: www&#xff1a;无此用户 # groupadd www # useradd -g www -s /sbin/nologin www # id www uid501(www) gid501(www) 组501(www) 转载于:https://www.cnblogs.com/cnbing/p/6957239.html

GridView自定义分页导航

自己做的一个项目中所运用到的技术&#xff1a;| 1. 日历控件&#xff08;带时分秒&#xff09;2. GridView 批量删除,自定义分页,定位页码3. GridView 修改4. GridView 鼠标经过改变行的颜色效果如下&#xff1a;HTML&#xff1a;<% Page L…

一文看懂AI数据采集标注未来三年的发展和趋势

影响人工智能发展的三大要素分别是数据、算法、算力&#xff0c;限于篇幅&#xff0c;本篇内容将重点分析未来几年内人工智能所需要的数据趋势及探讨数据服务商发展方向。 作为AI数据采集标注的领先企业&#xff0c;云测数据分析认为人工智能在经历了算法研究、技术扩张和商业落…

HTTP 状态代码及其定义

相关文章&#xff1a;http://ruby-china.org/topics/12384 所有 HTTP 状态代码及其定义。  代码 指示 2xx 成功 200 正常&#xff1b;请求已完成。 201 正常&#xff1b;紧接 POST 命令。 202 正常&#xff1b;已接受用于处理&#xff0c;但处理尚未完成。 203 正常&#xff1…