不用正则的话自己写这样一个应该比较容易吧<html> <head> </head> <body> <script> function chkID() { var id=document.all.idNo.value; var t=new Date(); var day=parseInt(t.getDate()); var month=parseInt(t.getMonth())+1; var year=parseInt(t.getYear()); var idyear; var yearStart=year-100; var yearEnd=year+1;
<head>
</head>
<body>
<script>
function chkID() {
var id=document.all.idNo.value;
var t=new Date();
var day=parseInt(t.getDate());
var month=parseInt(t.getMonth())+1;
var year=parseInt(t.getYear());
var idyear;
var yearStart=year-100;
var yearEnd=year+1;
if(id.length==15) {
idyear=id.substr(6,2); //身份证年份
if( parseInt(idyear) > parseInt(yearStart.toString().substr(2,2)) && parseInt(id.substr(8,2))==month && parseInt(id.substr(10,2))==day ) {
alert('right');return true;
}
else {
alert('wrong');return false;
}
}
if(id.length==18) {
idyear=id.substr(6,4); //身份证年份
if( parseInt(idyear) > yearStart && parseInt(id.substr(10,2))==month && parseInt(id.substr(12,2))==day )
{ alert('right');return true;}
else {
alert('wrong');return false;
}
} alert('wrong');
return false;
}
</script>
<br>
<form onsubmit="return chkID()">
<input type="text" name="idNo" size="20" />
<br><br>
<input type="submit" value="test"/>
</form>
<br>
</body>
</html>