function IsDate(dateValue) { var regex = new RegExp("^(?:(?:([0-9]{4}(-|\/)(?:(?:0?[1,3-9]|1[0-2])(-|\/)(?:29|30)|((?:0?[13578]|1[02])(-|\/)31)))|([0-9]{4}(-|\/)(?:0?[1-9]|1[0-2])(-|\/)(?:0?[1-9]|1\\d|2[0-8]))|(((?:(\\d\\d(?:0[48]|[2468][048]|[13579][26]))|(?:0[48]00|[2468][048]00|[13579][26]00))(-|\/)0?2(-|\/)29))))$"); if (!regex.test(dateValue)) return false; else return true; } 传过来判断
if(new Date(a,b,c).getMonth()==b-1) { alert("a b c 合法"); } else { alert("a b c 无效"); }
var regex = new RegExp("^(?:(?:([0-9]{4}(-|\/)(?:(?:0?[1,3-9]|1[0-2])(-|\/)(?:29|30)|((?:0?[13578]|1[02])(-|\/)31)))|([0-9]{4}(-|\/)(?:0?[1-9]|1[0-2])(-|\/)(?:0?[1-9]|1\\d|2[0-8]))|(((?:(\\d\\d(?:0[48]|[2468][048]|[13579][26]))|(?:0[48]00|[2468][048]00|[13579][26]00))(-|\/)0?2(-|\/)29))))$"); if (regex.test(a+'-'+b+'-'+c)) alert("OK");
var a1="2010";
var a3="01"; var a4="09";
var d=new Date(a1,a3,a4); if(typeof(d)=='object') { alert("哈哈,转成日期类型啦"+d.getMonth()); }
哥是这样玩的: function checkDate(text) { if (!text) return false; text = text.replace(/[\/-]0?/g, "/"); if (!text.match(/^\d{4}\/\d{1,2}\/\d{1,2}$/)) return false; var d = new Date(text); return [d.getFullYear(), d.getMonth() + 1, d.getDate()].join("/") == text; }document.open(); var datas = ["", "2010-01-01", "2010/02/30", "2010/02", "2010/22/30", "2012/2/29", "2012/02/29"]; for(var i = 0; i < datas.length; i++) { document.write(datas[i], "=", checkDate(datas[i]), "<br/>"); } document.close();输出=false 2010-01-01=true 2010/02/30=false 2010/02=false 2010/22/30=false 2012/2/29=true 2012/02/29=true
而按照你的要求,new Date(a,b,c).getMonth() == b-1为TRUE的时候就满足,否则则不满足
var regex = new RegExp("^(?:(?:([0-9]{4}(-|\/)(?:(?:0?[1,3-9]|1[0-2])(-|\/)(?:29|30)|((?:0?[13578]|1[02])(-|\/)31)))|([0-9]{4}(-|\/)(?:0?[1-9]|1[0-2])(-|\/)(?:0?[1-9]|1\\d|2[0-8]))|(((?:(\\d\\d(?:0[48]|[2468][048]|[13579][26]))|(?:0[48]00|[2468][048]00|[13579][26]00))(-|\/)0?2(-|\/)29))))$");
if (!regex.test(dateValue))
return false;
else
return true;
}
传过来判断
{
alert("a b c 合法");
}
else
{
alert("a b c 无效");
}
alert("OK");
var a3="01";
var a4="09";
var d=new Date(a1,a3,a4);
if(typeof(d)=='object')
{
alert("哈哈,转成日期类型啦"+d.getMonth());
}
function checkDate(text) {
if (!text) return false;
text = text.replace(/[\/-]0?/g, "/");
if (!text.match(/^\d{4}\/\d{1,2}\/\d{1,2}$/)) return false;
var d = new Date(text);
return [d.getFullYear(), d.getMonth() + 1, d.getDate()].join("/") == text;
}document.open();
var datas = ["", "2010-01-01", "2010/02/30", "2010/02", "2010/22/30", "2012/2/29", "2012/02/29"];
for(var i = 0; i < datas.length; i++) {
document.write(datas[i], "=", checkDate(datas[i]), "<br/>");
}
document.close();输出=false
2010-01-01=true
2010/02/30=false
2010/02=false
2010/22/30=false
2012/2/29=true
2012/02/29=true