若是纯粹用正则来验证一个日期的正确与否, 那你至少还得考虑润年等情况, 比较复杂, 所以换个思路
<script language=javascript>
function isTime(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
if(r==null)return false; var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
alert(isTime("2002-1-31 12:34:56"));
alert(isTime("2001-2-29 12:54:56"));
alert(isTime("2002-1-41 12:00:00"));
</script>
<script language=javascript>
function isTime(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
if(r==null)return false; var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
alert(isTime("2002-1-31 12:34:56"));
alert(isTime("2001-2-29 12:54:56"));
alert(isTime("2002-1-41 12:00:00"));
</script>
解决方案 »
- 关于代码的性能,下面的代码中appendChild在谷歌浏览器性能好低,是什么原因
- 弱弱的问一句,,用jqurey.js会耗费多大流量?
- Ext中有没有类似jquery的prev() next()的方法?
- window.showModalDialog打开的子窗体想刷新父窗体,能不能做到重复刷新?
- 理解不了的问题
- 奇怪,下面这段程序为何运行错误,提示第三十五行缺少对象,请高手帮忙
- javascript 如何检测 mailto 调用的哪个程序
- mm紧急求助:如何动态增加指定格式的1行7列。
- 如何能获得"汉字字符,全角字符"的实际长度?
- easyui树的修改
- 如何获得指定层的内容另存为Excel文件?
- 如何获得file框输入文件的大小?在线等待,高分,谢!
用split起切吧