既然是这样我就不用正则了 val代表你的text的值 var t = val.split('-'); if(t.length!=3) { alert("请输入正确的日期格式"); } t = new Date(t[0],t[1]-1,t[2]); //这样做是为了本地格式不会有错 if(!t.getTime()) { alert("请输入正确的日期格式"); } var local = new Date(); if(local >= t) { alert("请输入大于当前日期的日期"); }
我不明白为什么t = new Date(t[0],t[1]-1,t[2]); 这样本地格式就不会错拉! t[0]的格式一定是yyyy吗 比如是2010, 如果写10会出错吗 ,我做的格式要求是只可以是2010这样子的
val代表你的text的值
var t = val.split('-');
if(t.length!=3) {
alert("请输入正确的日期格式");
} t = new Date(t[0],t[1]-1,t[2]); //这样做是为了本地格式不会有错
if(!t.getTime()) {
alert("请输入正确的日期格式");
}
var local = new Date();
if(local >= t) {
alert("请输入大于当前日期的日期");
}
我不明白为什么t = new Date(t[0],t[1]-1,t[2]); 这样本地格式就不会错拉!
t[0]的格式一定是yyyy吗 比如是2010, 如果写10会出错吗 ,我做的格式要求是只可以是2010这样子的
就算JavaScript不强制用1900+10
那么10年10月10日难道会比2010年大吗?对不对至于格式,有些机器的本地化问题。他会认月-年-日这样的输入格式而非年-月-日
他会转换的
你如果输入的真的不对了
比如XX-12-10
他会取不到getTime的。