首先確定日期格式,如mm-dd-yy
先用正規表達式驗証格式是否正確
提出年月日做比較是否正確
先用正規表達式驗証格式是否正確
提出年月日做比較是否正確
解决方案 »
- 函数内多一个var 后 差距咋就那么大列 求大侠
- extjs 加onChange 事件
- 比较急 js传入变量数值问题,哪位帮忙看看
- jquery和jqueryUI的API文档只能在线看,公司上网麻烦,所以想找一份最新版的且比较好的文档,不知能不能提供一些资源
- 给个鼠标移上去(onmouseover)就弹出菜单的例子
- 如何在客户端判断某个值里有空格??
- 重复添加问题?急!!!!!
- 请问indexOf的逻辑值的-1,0,1分别代表什么意思?我给搞混乱了。
- 在客户端怎样判断某个网页是否加载完成?
- 在本地page中怎样iframe远程page,并得到body.innerhtml?
- 高分求解决方法,最好是能直接在js里实现的
- 横向和纵向滚动字幕的问题(数据库sql server)
function isDate(checktext){
var datetime;
var year,month,day;
var gone,gtwo;
if(Trim(checktext.value)!=""){
datetime=Trim(checktext.value);
if(datetime.length==10){
year=datetime.substring(0,4);
if(isNaN(year)==true){
alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)!");
checktext.focus();
return false;
}
gone=datetime.substring(4,5);
month=datetime.substring(5,7);
if(isNaN(month)==true){
alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)!");
checktext.focus();
return false;
}
gtwo=datetime.substring(7,8);
day=datetime.substring(8,10);
if(isNaN(day)==true){
alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)!");
checktext.focus();
return false;
}
if((gone=="-")&&(gtwo=="-")){
if(month<1||month>12) {
alert("月份必须在01和12之间!");
checktext.focus();
return false;
}
if(day<1||day>31){
alert("日期必须在01和31之间!");
checktext.focus();
return false;
}else{
if(month==2){
if(isLeapYear(year)&&day>29){
alert("二月份日期必须在01到29之间!");
checktext.focus();
return false;
}
if(!isLeapYear(year)&&day>28){
alert("二月份日期必须在01到28之间!");
checktext.focus();
return false;
}
}
if((month==4||month==6||month==9||month==11)&&(day>30)){
alert("在四,六,九,十一月份 \n日期必须在01到30之间!");
checktext.focus();
return false;
}
}
}else{
alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)");
checktext.focus();
return false;
}
}else{
alert("请输入日期!格式为(yyyy-mm-dd) \n例(2001-01-01)");
checktext.focus();
return false;
}
}else{
return true;
}
return true;
}
</script>
呵呵..来拿分了!!
function isDate(str){
if(!str.match(/^\d{4}\-\d\d?\-\d\d?$/)){return false;}
//str=str.replace(/[^\d \:\-]+/g,"");
window.tmp=false;
window.execScript('tmp=IsDate("' + str + '")', "vbs");
return tmp;
}
document.write(isDate("2005-02-28")); //true
document.write(isDate("2005-02-29")); //false
</script>
function isDate2(str){
if(!str.match(/^\d{4}\-\d\d?\-\d\d?$/)){return false;}
var ar=str.replace(/\-0/g,"-").split("-");
ar=new Array(parseInt(ar[0]),parseInt(ar[1])-1,parseInt(ar[2]));
var d=new Date(ar[0],ar[1],ar[2]);
return d.getFullYear()==ar[0] && d.getMonth()==ar[1] && d.getDate()==ar[2];
}
document.write(isDate2("2005-02-28")); //true
document.write(isDate2("2005-02-29")); //false
</script>
function isDate(str){
if(!str.match(/^\d{4}\-\d\d?\-\d\d?$/)){return false;}
var ar=str.replace(/\-0/g,"-").split("-");
ar=new Array(parseInt(ar[0]),parseInt(ar[1])-1,parseInt(ar[2]));
var d=new Date(ar[0],ar[1],ar[2]);
return d.getFullYear()==ar[0] && d.getMonth()==ar[1] && d.getDate()==ar[2];
}
document.write(isDate("2005-02-28")); //true
document.write(isDate("2005-02-29")); //false
</script>