惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 聂微东
宝玉的分享
宝玉的分享
Apple Machine Learning Research
Apple Machine Learning Research
罗磊的独立博客
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
博客园 - 【当耐特】
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
博客园 - 司徒正美
博客园 - Franky
爱范儿
爱范儿
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
Jina AI
Jina AI
量子位
博客园 - 叶小钗
博客园_首页
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
The Cloudflare Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - huazi4995

prototype.js开发笔记 JS应用 java环境配置 关于梅花雪的js树 - huazi4995 - 博客园 MagicAjax的使用 - huazi4995 - 博客园 div+css制作的选项卡 - huazi4995 - 博客园 关于word文档的数据库存取 SQL查询语句精华使用简要 - huazi4995 - 博客园 c#常用函数和方法集汇总 动态创建层 C#操作Word文档(Office 2007) datagrid控件使用技巧大集合 网站设计常用技巧 jsp编程技巧 ArrayList的使用方法(转载) 将datagrid里的资料导入到excel js中的小技巧 ajax+xml数据岛,增加编辑与删除按钮 利用webservice实现省、市的无刷新
身份证号码验证-支持新的带x身份证
huazi4995 · 2007-03-17 · via 博客园 - huazi4995

//--身份证号码验证-支持新的带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;
}

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1529727