[推荐]JavaScript执行身份证号码验证
来源:互联网 发布:网络黑客高手qq群2016 编辑:程序博客网 时间:2024/05/19 16:47
- function isIdCardNo(obj)
- {
- 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="1";
- var _id=obj;
-
- if(_id=="") return false;
- var _valid=false;
-
-
- if(_id.length==18){
- _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]);
-
- if(i==16&&parseInt(_num.charAt(i))%2==0)
- sex="0";
- else
- sex="1";
- }
- }
-
- var mod=parseInt(_power)%11;
- if(parityBit[mod]==_parityBit)
- return true;
- else
- return false;
- }else{
-
-
- _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;
-
- if(sexBit%2==0)
- sex="0";
- else
- sex="1";
- return true;
- }
- }