欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-10 19:10:02
if(document.form1.csrq.value==""){ alert("请填写出生日期!"); document.form1.csrq.focus(); ret...
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;
}