收集整理些有用的JAVASCRIPT小知识
dedecms.com
以下是引用片段:
functionisValidDate(year,month,day)
{
year=parseInt(year,10);
month=parseInt(month,10);
day=parseInt(day,10);
if((month==4)||(month==6)||(month==9)||(month==11))
{if((day<1)||(day>30))
{alert("日期在1-30之间");
return(false);
}
}
else
{if(month!=2)
{if((day<1)||(day>31))
{alert("日期在1-31之间");
return(false);
}
}
else
{//month==2
if((year0)!=0&&(year%4==0)||(year0)==0&&(year@0)==0)
{if(day>29)
{alert("日期在1-29之间");
return(false);
}
}
else
{if(day>28)
{alert("日期在1-28之间");
return(false);
}
}
}
}
return(true);
}
functionisIdCardNo(s)
{
if((s.length<15)||(s.length==16)||(s.length==17)||(s.length>18)){
window.alert("身份证位数不正确!");
returnfalse;
}
slen=s.length-1;//身份证除最后一位外,必须为数字! dedecms.com
for(i=0;i<slen;i )
{
cc=s.charAt(i);
if(cc<"0"||cc>"9")
{
returnfalse;
}
}
//提取年月日
varstrYear=parseInt(s.substring(6,10))
varstrMonth=parseInt(s.substring(10,12))
varstrDay=parseInt(s.substring(12,14))
//Form1.year的代码根据个人情况变动
varvYear=parseInt(document.Form1.year.options[document.Form1.year.selectedIndex].text)
varvMonth=parseInt(document.Form1.month.options[document.Form1.month.selectedIndex].text)
varvDay=parseInt(document.Form1.day.options[document.Form1.day.selectedIndex].text)
//判定输入的出生年月日是否是正确的日期
if(!isValidDate(strYear,strMonth,strDay))
{
window.alert("请检查身份证是否输入正确!");
returnfalse;
}
//判定是否与出生年月日吻合
if((strYear!=vYear)||(strMonth!=vMonth)||(strDay!=vDay))
{
window.alert("身份证号与输入的出生年月日不符!");
returnfalse;
}
//document.Form1.ceshi.value=strMonth
//document.Form1.ceshi2.value=vMonth
returntrue;
}因为我不知道身份证上户口所在地的值是用什么规则规定的,而且也没必要验证的那么具体。就没有做户口验证。 内容来自dedecms
不过我觉得,应该是大同小异的吧,只要判定form里户口选择select的值和身份证里户口对应的位数是否相等就ok了。 s.substring(6,10)就是用来截取字段的。从第六位到第十位。
文章评论
共有位Admini5网友发表了评论 查看完整内容