﻿// JScript 文件

 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 validCardId(obj){
        var _id=obj.value;
        if(_id=="")return -1;
        var _valid=false;
        if(_id.length==15){
            _valid=validId15(_id);
        }else if(_id.length==18){
            _valid=validId18(_id);
        }
        return _valid;
    }    
    //校验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]);
                if(i==16&&parseInt(_num.charAt(i))%2==0){
                    sex="female";
                }else{
                    sex="male";
                }
            }
        }
        var mod=parseInt(_power)%11;
        if(parityBit[mod]==_parityBit){
            return true;
        }
        return false;
    }
    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;
        if(sexBit%2==0){
            sex="female";
        }else{
            sex="male";
        }
        return true;
    }