日期:2014-05-16  浏览次数:20451 次

关于yyyy-mm提交时的判断?
一个日期   要的格式是yyyy-mm,例如:2005-01-01     在提交时该怎么做判断,请各位帮帮忙?谢了。

------解决方案--------------------
<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]);
}
function mm(obj)
{
if(!obj.value.isDate())
{
alert( "不是时间 ")
obj.value= ' '
}
}
</script>
<input onblur= "mm(this) ">
------解决方案--------------------
http://www.blogjava.net/mxx/archive/2006/09/27/72159.html

<script language= "JavaScript ">
<!--
function CheckDate(strDate){
var reg=/^(\d{4})([-])(\d{2})([-])(\d{2})/;
if(!reg.test(strDate)){
alert( "日期格式不正确!\n正确格式为:2004-01-01 ");
return false;
}
var ss=strDate.split( "- ");
var year=ss[0];
var month=ss[1];
var date=ss[2];
if(!checkYear(year)){return false;}
if(!checkMonth(month)){return false;}
if(!checkDate(year,month,date)){return false;}
return true;
}
function checkYear(year){
if(isNaN(parseInt(year))){alert( "年份输入有误,请重新输入! "); return false;}
else if(parseInt(year) <1950 || parseInt(year) > 2050){ alert( "年份应该在1950-2050之间! "); return false}
else return true;
}
function checkMonth(month){
if(isNaN(parseInt(month))){alert( "月份输入有误,请重新输入! "); return false;}
else if(parseInt(month) <1 || parseInt(month) > 12){ alert( "月份应该在1-12之间! "); return false}
else return true;
}
function checkDate(year,month,date){
var daysOfMonth=CalDays(parseInt(year),parseInt(month));
if(isNaN(parseInt(date))){alert( "日期输入有误,请重新输入! "); return false;}
else if(parseInt(date) <0||parseInt(date)> daysOfMonth){ alert( "日期应该在1- "+daysOfMonth+ "之间! "); return false;}
else return true;
}
function CalDays(year,month){
var date= new Date(year,month,0);
return date.getDate();
}
function isLeapYear(year){
if((year %4==0 && year %100!=0) || (year %400==0)) return true;
else return false;
}
alert(CheckDate( "2007-02-29 "));
//-->
</script>