Function issfz(){//判断身份证号码
if(sfzh.value!=""){ //如果表单内容不为空
var hh=sfzh.value; //把sfzh.value为身份证号码
if(hh.length!=15 && hh.length!=18){
alert("您输入的身份证号位数不正确/r身份证号码应为15位或18位数字");
// sfzh.focus();
return false;
}
if(!isin(hh,"0123456789")){ //调用isin函数,判断号码是否为数值
alert("身份证号码输入有误/r号码必须为数值型");
sfzh.focus();
return false;
}
if(hh.length==15){//判断号码位数
//alert("号码为15位");
str="19"+hh.substring(6,12);//从身份证里取出生日数字
strnew=str.substring(0,4)+"-"+str.substring(4,6)+"-"+str.substring(6,8);//生日日期
//alert("出生年月为:"+strnew);
if(isdate(strnew)=="false"){//调用isdate函数,判断号码里的生日输入是否正确
alert("身份证号输入有误/r请重新输入");
//sfzh.focus();
return false;
}
}
if(hh.length==18){ //判断号码位数
// alert("号码为18位");
str=hh.substring(6,14);
strnew=str.substring(0,4)+"-"+str.substring(4,6)+"-"+str.substring(6,8);
//alert("出生年月为:"+strnew);
if(isdate(strnew)=="false"){
alert("身份证号输入有误/r请重新输入");
//sfzh.focus();
return false;
}
}
}
}
function isin(sv,sr){//sv字符不包含在sr里面就弹出提示,用来判断身份证是否为数字
var stmp;
if(sv.length==0){return(false);}
for(var i=0;i<sv.length;i++){
stmp=sv.substring(i,i+1);
if(sr.indexOf(stmp,0)==-1)
{return (false);}
}
return (true);
}
function isdate(str){//判断日期的函数
var strSeparator = "-"; //日期分隔符
var strDateArray;
var intYear;
var intMonth;
var intDay;
var boolLeapYear;
var strDate;
strDate=str;
strDateArray = strDate.split(strSeparator); //以“-”为分隔符提取年月日
if(strDateArray.length!=3) {
//alert("您输入的日期错误");
return "false";
}
intYear = parseInt(strDateArray[0],10);
intMonth = parseInt(strDateArray[1],10);
intDay = parseInt(strDateArray[2],10);
if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) {
//alert("您输入的日期错误");
return "false";}
if(intMonth>12||intMonth<1){
// alert("日期错误,月份必须为0到12之间的一个数");
return "false";}
if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay>31||intDay<1)){
// alert("日期错误,您输入月份的相应日份必须为1—31之间");
return "false";
}
if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30||intDay<1)) {
// alert("日期错误,您输入月份的相应日份必须为1—30之间");
return "false";}
if(intMonth==2){
if(intDay<1) {
// alert("日期错误,月份不能为零或空值");
return "false";}
boolLeapYear = false;
if((intYear%400==0)||(intYear%4==0 && intYear%100!=0)) //判断闰年
boolLeapYear = true;
else
boolLeapYear = false; //平年
if(boolLeapYear){
if(intDay>29) {
// alert("日期错误,闰年2月份的日份必须在1—29之间");
return "false";}
}
else{
if(intDay>28) {
//alert("日期错误,2月份的日份必须在1—28之间");
return "false";}
}
}
return "true";
}