28,409
社区成员




<script language="javascript">
function chkDate(sDate)
{
for (i=0;i<sDate.length;i++)
{
sDate=sDate.replace("/","-");
}
var r=/\d{4}(?:-\d{1,2}){0,2}/
//正则表达式,判断是否为yyyy-mm-dd,yyyy-mm,yyyy格式
if(sDate.match(r)==sDate)
{
var arr=sDate.split("-")
switch(arr.length)
{
//根据不同的yyyy-mm-dd,yyyy-mm格式判断年月日数字是否正确
case 3:
var tmpDate=new Date(arr[0],arr[1],arr[2]);
if(tmpDate.getMonth()==arr[1] && tmpDate.getFullYear()==arr[0]) return true;
break;
case 2:
if(arr[1]<13) return true;
break;
case 1:
if(arr[0].length==4) return true;
break;
default:
return false;
}
}
return false;
}
</script>
<script>
function ValidDate(s){
var pattern=/^(\d{4})-(\d{1,})-(\d{1,})$/i
var matches=s.match(pattern);
if(matches){ //匹配 yyyy-mm-dd 的形式
var tempDate=new Date(matches[1],matches[2]-1,matches[3]);
if(tempDate.getYear()!=matches[1]||tempDate.getMonth()!=(matches[2]-1)||tempDate.getDate()!=matches[3]){//检查是否正确日期,比如9999-99-99等形式
alert("日期不正确!");
return false;
}
}
else{
alert("格式错误");
return false;
}
return true;
}
</script>
<input type=text name=a id=a onpropertychange='javascript:return ValidDate(this.value)'> IE
<input type=text name=a id=a oninput='javascript:return ValidDate(this.value)'> FF
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>日期合法性判断</title>
<script language="javascript">
function chkDate(sDate)
{
for (i=0;i<sDate.length;i++)
{
sDate=sDate.replace("/","-");
}
var r=/\d{4}(?:-\d{1,2}){0,2}/
//正则表达式,判断是否为yyyy-mm-dd,yyyy-mm,yyyy格式
if(sDate.match(r)==sDate)
{
var arr=sDate.split("-")
switch(arr.length)
{
//根据不同的yyyy-mm-dd,yyyy-mm格式判断年月日数字是否正确
case 3:
var tmpDate=new Date(arr[0],arr[1],arr[2]);
if(tmpDate.getMonth()==arr[1] && tmpDate.getFullYear()==arr[0]) return true;
break;
case 2:
if(arr[1]<13) return true;
break;
case 1:
if(arr[0].length==4) return true;
break;
default:
return false;
}
}
return false;
}
</script>
</head>
<body>
<input type="text" name="txtdate" size="20"><br>
<input type="button" name="Submit2" onclick="if (chkDate(document.all.txtdate.value)==false) {alert('输入的日期不合法!');document.all.txtdate.select();document.all.txtdate.focus();} else alert ('输入的日期合法。');" value="CheckDate">
</body>
</html>
<script language=javascript>
function strDateTime(str)
{
var reg =/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
//^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4]);
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
if (newStr != str) alert("时间格式不对!");
}
</script>