Asp.Net教程,WinForm教程,Asp.Net MVC,vs2008教程,vs2010教程,Silverlight技术,源码下载,Asp.Net视频教程
全站热门标签
vs2010 Silverlight 存储过程 水晶报表 ADO.NET JavaScript LINQ AjaxPro DataGridView 面向对象 Extjs GridView XML DevExpress HTML教程 Oracle jQuery 分页 GDI+ Visual C++2010 MySQL Office2010 WPF MVC Dojo WCF4.0 VB.NET Sql2005 textbox cookie WCF WinForm Discuz!NT SQL经典语句 T-SQL checkbox ASPxGridView F# asp.net SQL VS2008新特性 DropDownList Access TreeView Ajax VS2008 页面执行时间 Flex 字符串 回调 VB2005 DataSet C#时间 ASP.NET性能优化 用户在线检测 动画
尚未分类 LINQ教程 Enterprise技术性能优化/调试 水晶报表与打印 安全与加密 图形图像 文件处理 基础教程 Web Services 内置对象 控件示例 正则表达式\采集 ADO.NET 缓存\泛型\线程 XML技术 Url重写\静态页 vs2008综合教程

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

时间:2010-06-05 22:40来源:未知 作者:admin 点击:

1 //--身份证号码验证-支持新的带x身份证
 2 function isIdCardNo(num) 
 3 {
 4     var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
 5     var error;
 6     var varArray = new Array();
 7     var intValue;
 8     var lngProduct = 0;
 9     var intCheckDigit;
10     var intStrLen = num.length;
11     var idNumber = num;    
12     // initialize
13     if ((intStrLen != 15&& (intStrLen != 18)) {
14         //error = "输入身份证号码长度不对!";
15         //alert(error);
16         //frmAddUser.txtIDCard.focus();
17         return false;
18     }    
19     // check and set value
20     for(i=0;i<intStrLen;i++) {
21         varArray[i] = idNumber.charAt(i);
22         if ((varArray[i] < '0' || varArray[i] > '9'&& (i != 17)) {
23             //error = "错误的身份证号码!.";
24             //alert(error);
25             //frmAddUser.txtIDCard.focus();
26             return false;
27         } else if (i < 17) {
28             varArray[i] = varArray[i]*factorArr[i];
29         }
30     }
31     if (intStrLen == 18) {
32         //check date
33         var date8 = idNumber.substring(6,14);
34         if (checkDate(date8) == false) {
35             //error = "身份证中日期信息不正确!.";
36             //alert(error);
37             return false;
38         }        
39         // calculate the sum of the products
40         for(i=0;i<17;i++) {
41             lngProduct = lngProduct + varArray[i];
42         }        
43         // calculate the check digit
44         intCheckDigit = 12 - lngProduct % 11;
45         switch (intCheckDigit) {
46             case 10:
47                 intCheckDigit = 'X';
48                 break;
49             case 11:
50                 intCheckDigit = 0;
51                 break;
52             case 12:
53                 intCheckDigit = 1;
54                 break;
55         }        
56         // check last digit
57         if (varArray[17].toUpperCase() != intCheckDigit) {
58             //error = "身份证效验位错误!正确为: " + intCheckDigit + ".";
59             //alert(error);
60             return false;
61         }
62     } 
63     else{        //length is 15
64         //check date
65         var date6 = idNumber.substring(6,12);
66         if (checkDate(date6) == false) {
67             //alert("身份证日期信息有误!.");
68             return false;
69         }
70     }
71     //alert ("Correct.");
72     return true;
73 }

(责任编辑:admin)
Tags:JavaScript 验证
责任编辑:admin
返回顶部
------分隔线----------------------------
推荐内容
骆驼户外男 真皮磨砂日常休闲鞋 低帮 2011秋冬新款 专柜正品特价 骆驼户外男 真皮磨砂日常休闲鞋 低帮 2011秋冬新款 专柜正品特价