求验证日期格式及日期部分的正则表达式 http://www.csdn.net/expert/topic/712/712631.xml?temp=.4607355http://www.csdn.net/expert/topic/747/747366.xml?temp=.7035944 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script language="javascript">var s="2002-4-16"alert(chkDate(s));function chkDate(sDate){ 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; default: return false; } } return false;}</script> 问题已经解决。我是参照“ fokker(独孤龙) ”大侠为我提供的方法做的,如下所示:<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="btnchkdate" onclick="if (chkDate(document.all.txtdate.value)==false) {alert('输入的日期不合法!');document.all.txtdate.select();document.all.txtdate.focus();} else alert ('输入的日期合法。');" value="CheckDate"></body></html> jQuery 插件的代码只能提示功能 如实现 文本框输入一些字符然后在当前鼠标后动态添加一些提示文字 当条件满足时自动点击按钮提交表单,怎么做? 初学jquery,写法问题 google maps 示例代码的疑惑 导出excel表格,关闭excel文件,进程怎么没有结束? 如何在asp页面中 浮动出一个框来,询问是否要将本站加为首页。类似于sina前段时间的显示 今天遇到一个棘手的问题,就是打开窗口,别以为简单 寻求网页模板 乱码的问题如何解决?(高手帮帮我) 如何在输入过程中做只能输入数字的判断?急,在线等待 问一个简单的问题。关于Radio单选框
var s="2002-4-16"
alert(chkDate(s));
function chkDate(sDate){
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;
default:
return false;
}
}
return false;
}
</script>
<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="btnchkdate" onclick="if (chkDate(document.all.txtdate.value)==false) {alert('输入的日期不合法!');document.all.txtdate.select();document.all.txtdate.focus();} else alert ('输入的日期合法。');" value="CheckDate">
</body>
</html>