身份证验证

javabean 身份证号码验证
开发工具:MyEclipse、MySQL
开发语言:javabean+servlet+jsp、layui 、bootstrap
jsp代码如下:

	    //身份证号验证
        function idNumber() {  
        	var card=$("#memberIDNumber").val();
           //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
		   var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
		   if(reg.test(card) === false)
		   {
		       layer.alert("身份证输入不合法!请重新输入", { skin: 'layui-layer-molv', icon: 0, title: "提示" });
		       $("#memberIDNumber").val("");
		       return  false;
		   }
		   else{
		   	   var b=0;
		       for(var i=0;i<arrMemberIDNumber.length;i++){
		    
			   	  if(card==arrMemberIDNumber[i]){
			          b=1;
			          break;    //记得break,直接跳出循环
			       }
			    
			    } 
			    if(b==1){
			       layer.alert("此身份证已登记!可以输入其他的或退出", { skin: 'layui-layer-molv', icon: 0, title: "提示" });
			       $("#memberIDNumber").val("");
			       return  false;
			     }
		        else if(b!=1){
		        	var idcard      = document.getElementsByName("memberIDNumber")[0];
					var ageValue    = document.getElementsByName("memberAge")[0];
					var sex         = document.getElementById("memberSex");
					var idcardValue =idcard.value;
					if(idcardValue.length==18){
					  sexValue     = idcardValue.substring(16,17);
					  yearValue    = idcardValue.substring(6,10);
					  monthValue   = idcardValue.substring(10,12);
					  dayValue     = idcardValue.substring(12,14);
					  //性别
					  if(sexValue%2==1){
					  	$("#memberSex").val("true");
					  }else if(sexValue%2==0){
					  	$("#memberSex").val("false");
					  }
					  //出生日期
					  //birthTime.value=yearValuef+"-"+monthValue+"-"+dayValue;
					  //年龄
					  var myDate=new Date();
					  var getyaer=myDate.getFullYear();
					  age=new Number(getyaer)-new Number(yearValue);
					  //计算周岁,未到生日减一岁
					  if(new Number(monthValue)>(new Number(myDate.getMonth())+1)){
					  age=age-1;
					  }else if(new Number(monthValue)==(new Number(myDate.getMonth())+1)
					           && new Number(dayValue)>new Number(myDate.getDate()))
					  {
					  	age=age-1;
					  }
					  if(age<0){
					  	age=0;
					  }
					  ageValue.value=age;
					}
			   		return true;
		        }
		        
		   }     	
        
        };
        
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值