身份证校验js

本文介绍了使用JavaScript实现的身份证号码验证与性别识别功能,包括对18位和15位身份证号码的合法性检查,以及根据身份证号末尾判断性别。
<script>

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";    //校验身份证号码的主调用 

    function validId(obj,sexObjId){  
      var _id=obj.value;      
      if(_id=="")
      {
          alert("请输入有效身份证号");
           obj.focus();           
          return false;
      }       
      
      if(_id.length==18){           
         valid=validId18(_id);       
      }
      else
      {
    	  alert("请输入18位有效身份证号");
          return false;
      }       
      if(!valid){           
         alert("身份证号码有误,请检查!");           
         obj.focus();           
         return false;       

      }        
	  if(sexObjId!="")
	  {
		//  setSex(sexObjId);
		  }	
	  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]);                //设置性别 
                          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;}   
    }   
function setSex(objId)
{
	//设置性别 
    var sexSel=document.getElementsByName(objId);
    //sexSel[0].disabled=false;
   // sexSel[1].disabled=false;
    if(sex == '1')
    {
		sexSel[0].checked=true;
        }
    else if(sex == '0')
    {
        sexSel[1].checked = true;
     }
   // sexSel[0].disabled=true;
    //sexSel[1].disabled=true;
}
</script>
function  validId15 (_id){  
        var flag = true;
    	//var _id=obj.value; 
		var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"} ;
	  	if(area[parseInt(_id.substr(0,2))]==null) flag = false;
	    if(flag && _id.length == 15){
		  if ((parseInt(_id.substr(6,2))+1900) % 4 == 0 || ((parseInt(_id.substr(6,2))+1900) % 100 == 0 && (parseInt(_id.substr(6,2))+1900) % 4 == 0 )){
			//测试出生日期的合法性
			ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;
			}
			else{
				//测试出生日期的合法性
			ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;
			}
			if(!ereg.test(_id))	flag = false;
		 }
		//设置性别
		sex=_id.slice(14,17)%2 ? "1" : "0";
		return flag;
        }


 

<input name="orderConsigneeAddress.idCard" onblur="validId(this,'orderConsigneeAddress.sex')" />

内容概要:本文档介绍了基于3D FDTD(时域有限差分)方法在MATLAB平台上对微带线馈电的矩形天线进行仿真分析的技术方案,重点在于模拟超MATLAB基于3D FDTD的微带线馈矩形天线分析[用于模拟超宽带脉冲通过线馈矩形天线的传播,以计算微带结构的回波损耗参数]宽带脉冲信号通过天线结构的传播过程,并计算微带结构的回波损耗参数(S11),以评估天线的匹配性能和辐射特性。该方法通过建立三维电磁场模型,精确求解麦克斯韦方程组,适用于高频电磁仿真,能够有效分析天线在宽频带内的响应特性。文档还提及该资源属于一个涵盖多个科研方向的综合性MATLAB仿真资源包,涉及通信、信号处理、电力系统、机器学习等多个领域。; 适合人群:具备电磁场与微波技术基础知识,熟悉MATLAB编程及数值仿真的高校研究生、科研人员及通信工程领域技术人员。; 使用场景及目标:① 掌握3D FDTD方法在天线仿真中的具体实现流程;② 分析微带天线的回波损耗特性,优化天线设计参数以提升宽带匹配性能;③ 学习复杂电磁问题的数值建模与仿真技巧,拓展在射频与无线通信领域的研究能力。; 阅读建议:建议读者结合电磁理论基础,仔细理解FDTD算法的离散化过程和边界条件设置,运行并调试提供的MATLAB代码,通过调整天线几何尺寸和材料参数观察回波损耗曲线的变化,从而深入掌握仿真原理与工程应用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值