JS验证出生日期和身份证号

BS项目开发过程中会遇到的脚本验证

//验证出生日期
function isBirthday(num)
{
 if (isNaN(num))
     {
      alert("输入的不是数字!");
      return false;
     }
 var re;
 var a = num.match(re);
 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(!B)
 {
  alert("输入的出生日期格式不对!");
  return false;
 }
}
//验证身份证号
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
     {
      alert("输入的数字位数不对!"); 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];
       }
       else
       {
         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;
}

你可能感兴趣的:(脚本)