码迷,mamicode.com
首页 > Web开发 > 详细

身份证js验证

时间:2015-01-04 18:56:37      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

 

<script type="text/javascript"> 
//--身份证号码验证-支持新的带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; 
}
function checkDate(date) 
{ 
    return true; 
}  
function check()
{
 idnum = document.getElementById(‘idcard‘).value;
 alert(isIdCardNo(idnum));
  
}
</script>

身份证js验证

标签:

原文地址:http://www.cnblogs.com/wodegui/p/4201631.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!