javascript 驗證社會安全號碼碼

來源:互聯網
上載者:User

 

<script type="text/javascript">// 去左右空格 function trim(str){return str.replace(/^\s+|\s+$/g,'');}var powers=new Array("7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2");          var parityBit=new Array("1","0","X","9","8","7","6","5","4","3","2");          var sex="male";          //校正社會安全號碼碼的主調用    function validId(obj){              var _id=obj.value;              if(trim(_id)==""){        obj.value="";        document.getElementById("idCardMsg").innerHTML = "請輸入社會安全號碼。";      return false;        }         if(_id.length.length != 15 && _id.length != 18){        document.getElementById("idCardMsg").innerHTML = "請輸入15位或者18位社會安全號碼碼。";      return false;        }        var _valid=false;              if(_id.length==15){                  _valid=validId15(_id);              }else if(_id.length==18){                  _valid=validId18(_id);              }              if(!_valid){                  document.getElementById("idCardMsg").innerHTML = "社會安全號碼碼有誤,請檢查!";            obj.focus();                  return false;              }        document.getElementById("idCardMsg").innerHTML = "輸入正確。";        return true;    }              //校正18位的社會安全號碼碼               function validId18(_id){              _id=_id+"";              var _num=_id.substr(0,17);              var _parityBit=_id.substr(17);              var _power=0;              for(var i=0;i< 17;i++){                  //校正每一位的合法性                 if(_num.charAt(i)<'0'||_num.charAt(i)>'9'){                      return false;                      break;                  }else{                      //加權 _power+=parseInt(_num.charAt(i))*parseInt(powers[i]);                      }              }          //模數              var mod=parseInt(_power)%11;if(parityBit[mod]==_parityBit){                  return true;              }              return false;          }          //校正15位的社會安全號碼碼               function validId15(_id){              _id=_id+"";              for(var i=0;i<_id.length;i++){                  //校正每一位的合法性                       if(_id.charAt(i)<'0'||_id.charAt(i)>'9'){                      return false;                      break;                  }              }              var year=_id.substr(6,2);              var month=_id.substr(8,2);              var day=_id.substr(10,2);              var sexBit=_id.substr(14);              //校正年份位                   if(year<'01'||year >'90')return false;              //校正月份                   if(month<'01'||month >'12')return false;              //校正日                   if(day<'01'||day >'31')return false;                 return true;          }  </script>

 

<input type="text" onblur="javascript:validId(this)"  maxlength="20"/><span id="idCardMsg"></span>

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.