<script language=javascript> String.prototype.isDate = function() { var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]); return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]); } alert("2002-01-31".isDate()); alert("2002-01-41".isDate()); </script>
<script type="text/javascript"> // function IsDate(s) { var re = /^(\d{4})(\/|-)(\d{1,2})\2(\d{1,2})$/ var m = re.exec(s); if (m == null) return false; var d = new Date(m[1],m[3]-1,m[4]); return d.getFullYear()==m[1] && d.getMonth()==(m[3]-1) && d.getDate()==m[4]; } alert(IsDate("2005-2-28")) </script>
考 太经典了!3ks again
var d = new Date(m[1],m[3]-1,m[4]); return d.getFullYear()==m[1] && d.getMonth()==(m[3]-1) && d.getDate()==m[4]; ------------------------------ 这都能想出来 哈哈
http://blog.csdn.net/meizz/archive/2003/06/09/17130.aspx
String.prototype.isDate = function()
{
var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
alert("2002-01-31".isDate());
alert("2002-01-41".isDate());
</script>
:)如果不能严格限制
能否先写一个比较宽松的限制?
比如
yyyy-mm-dd
年份的限制 为1xxx或2xxx 年
月份的限制为 01~12
日期的限制为 01~31
年月日 之间用"-" 连接
这样应该比较简单了哦:)
//
function IsDate(s) {
var re = /^(\d{4})(\/|-)(\d{1,2})\2(\d{1,2})$/
var m = re.exec(s);
if (m == null) return false;
var d = new Date(m[1],m[3]-1,m[4]);
return d.getFullYear()==m[1] && d.getMonth()==(m[3]-1) && d.getDate()==m[4];
}
alert(IsDate("2005-2-28"))
</script>
太经典了!3ks again
return d.getFullYear()==m[1] && d.getMonth()==(m[3]-1) && d.getDate()==m[4];
------------------------------
这都能想出来
哈哈