javascript 出生日期和身份证判断大全

 if(document.form1.csrq.value==""){
  alert("请填写出生日期!");
  document.form1.csrq.focus();
   return false;
  }
 
  if(document.form1.csrq.value==""){
  alert("请填写出生日期!");
  document.form1.csrq.focus();
   return false;
  }else{
   if(document.form1.csrq.value.length!=8){
   alert("出生日期必须为8位!");
   document.form1.csrq.focus();
   return false;
   }


   if(document.form1.sfzh.value.length==18){  

      var sfzh =document.form1.sfzh.value;
    if(document.form1.csrq.value!=sfzh.substring(6,14)){
    alert("出生日期与身份证号不一致!");
             document.form1.csrq.focus();
          return false;
    }
   }
   if(document.form1.sfzh.value.length==15){ 
      var sfzh =document.form1.sfzh.value;
   if(document.form1.csrq.value!='19'+sfzh.substring(6,12)){
    alert("出生日期与身份证号不一致!");
       document.form1.csrq.focus();
          return false;
   }
   }

  }

if(!isIdCardNo(document.form1.sfzh.value)){
      document.form1.sfzh.focus();
   return false;  
  }

function isNN(num){
             var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //大写字母
             badChar += "abcdefghijklmnopqrstuvwxyz"; //小写字母
             badChar += "0123456789"; //数字
             badChar += " "+" ";//半角与全角空格
             badChar += "`~!@#$%^&()-_=+]//|:;/"//'<,>?/";//特殊符号
             var c;
             //for(var i=0;i<name.length;i++){//依次判断name中的字符
             c=num.charAt(0);//取出num中的第1个字符
             if(badChar.indexOf(c) != -1){ //如果当前字符在badChar中找到了匹配字符,说明它不是汉字
             return false;
               } else{
           return true;
            }
               }
function isIdCardNo(num)
      {
       // if (isNaN(num)) {alert("输入的不是数字!"); return false;}
        var len = num.length, re;
        if (len == 15){
          re = new RegExp(/^(/d{6})()?(/d{2})(/d{2})(/d{2})(/d{3})$/);
   }else if (len == 18){
          re = new RegExp(/^(/d{6})()?(/d{4})(/d{2})(/d{2})(/d{3})(/d)$/);
   }else if (isNN(num)){
       return true;
   }else {
   alert("如果是军官号请输入完整,例如:某军官证号为政字第123456号;如果是身份证号请检测您输入的位数,必须为15位或18位。");
   return false;  
    }
        var a = num.match(re);
        if (a != null)
        {
          if (len==15)
          {
            var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
            var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
          }
          if (len == 18)
          {
            var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
            var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
          }
   
          if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;}

   
        }
        return true;
      }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值