函数调用问题,在线等,急

kulama2004 2003-08-20 03:59:18
我想写一个函数调用另一个函数来检验日期的合法性,改怎么做?
我写的下面代码不行,一直报错
//功能函数
function check(var time)
{
var date,year,month,day;
var bool=new Boolean("true");
date=parseInt(time);
day=date%100;
month=(date%10000-day)/100;
year=(date-month*100-day)/10000;
if (month>12||day>31)
{
bool=false;
}
else if(month==4||month==6||month==9||month==11&&day=31)
{
bool=false;
}
else if (month=2&&day>29)
{
bool=false;
}
else if(month=2&&year%4!=0||(year%100=0&&year%400!=0)&&day>28)
{
bool=false;
}
return bool;
}



//主函数
function WinOpen()
{
if(check(...))
{
...
}
}
...全文
37 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kulama2004 2003-08-21
  • 打赏
  • 举报
回复
上面给出的例子确实好用
不过我的日期格式和例子不一样
例子格式:"2002-1-31"
我需要的格式:"20020131"
月份和日期是个位数都要在前面补0,还有年月日之间没有"-"
怎么改啊?
kulama2004 2003-08-21
  • 打赏
  • 举报
回复
顶~
kulama2004 2003-08-20
  • 打赏
  • 举报
回复
我要的日期格式年月之间没有"-"的
连接在一起
怎么改?
hrong 2003-08-20
  • 打赏
  • 举报
回复
1.
<script language=javascript>
function strDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4]);
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
return newStr==str
}
alert(strDateTime("2002-1-31"))
alert(strDateTime("2002-1-41"))
</script>

2.
<script language=javascript>
function strDateTime(str){
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()+" "+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()
return newStr==str
}
alert(strDateTime("2002-1-31 12:34:56"))
alert(strDateTime("2001-2-29 12:54:56"))
alert(strDateTime("2002-1-41 12:00:00"))
</script>

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧