臺灣身份證驗證函數

  function  CheckIDCard(IDCard){
             var  fstr = 0;
    if(IDCard.trim()==""){
         return true;
    }
          switch(IDCard.substr(0,1)){         
         case "A":
           fstr = 10
           break;
         case "B":
           fstr = 11
           break;
         case "C":
           fstr = 12
           break;
         case "D":
           fstr = 13
           break;
         case "E":
           fstr = 14
           break;
         case "F":
           fstr = 15
           break;
         case "G":
           fstr = 16
           break;
         case "H":
           fstr = 17
           break;
         case "I":
           fstr = 34
           break;
         case "J":
           fstr = 18
           break;
         case "K":
           fstr = 19
           break;
         case "L":
           fstr = 20
           break;
         case "M":
           fstr = 21
           break;
         case "N":
           fstr = 22
           break;
         case "O":
           fstr = 35
           break;
         case "P":
           fstr = 23
           break;
         case "Q":
           fstr = 24
           break;
         case "R":
           fstr = 25
           break;
         case "S":
           fstr = 26
           break;
         case "T":
           fstr = 27
           break;
         case "U":
           fstr = 28
           break;
         case "V":
           fstr = 29
           break;
         case "W":
           fstr = 32
           break;
         case "X":
           fstr = 30
           break;
         case "Y":
           fstr = 31
           break;
         case "Z":
           fstr = 33
           break;
         default:
           break;                  
          }
         
   switch(IDCard.length){  
      case 10:
       ereg=/^[A-Z ][1-2][0-9]{8}$/;
       if(ereg.test(IDCard)){
     var lstr = parseInt((fstr.toString()).substr(0,1));
     var rstr = parseInt((fstr.toString()).substr(1,1));
     var str = parseInt(lstr) + parseInt(rstr)*9 + parseInt(IDCard.substr(1,1))*8 + parseInt(IDCard.substr(2,1))*7 + parseInt(IDCard.substr(3,1))*6
            + parseInt(IDCard.substr(4,1))*5 + parseInt(IDCard.substr(5,1))*4 + parseInt(IDCard.substr(6,1))*3
            + parseInt(IDCard.substr(7,1))*2 + parseInt(IDCard.substr(8,1))*1;
     var cc = (str.toString()).substr((str.toString()).length-1,1);
     var dd = parseInt(cc);
     if((10-dd)==parseInt(IDCard.substr(9,1))){
              return true;
     }else{
               return false;
     }  
  
       }else{
             return false;
       }
       break;
       default:
           return false;
  }  
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值