怎么用JAVASCRIPT来判断日期?

seabee 2005-05-31 09:06:36
怎么用JAVASCRIPT来判断在文本框里面输入的日期是正确的?日期格式是YYYY-MM-DD
...全文
170 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大笨狼 2005-06-01
  • 打赏
  • 举报
回复
三种写法:

<script>
function isDate(str)
{
var d = new Date(str)
return !isNaN(d)
}
</script>




function isDate(str)
{
var reg = /^({1,4})(-|{1,2}){1,2})$/;
result = str.match(reg);
if(result == null)return false;
var d = new Date(result[1],result[3]-1,result[4])
var newStr = d.getFullYear()+result[2]+(d.getMonth()+1)+result[2]+d.getDate();
return str == newStr
}


try
{
hdate=new Date(hyear,hmonth-1,day)
}
catch(e)
{
alert('错误');
}


<script language="JavaScript">
String.prototype.IsDate=function()
{
var str=this;
var reg =/^({1,2})-({1,2})$/;
var r=str.match(reg);
if(r==null)return false;
r[2]=r[2]-1;
var d=new Date(r[1],r[2],r[3]);
if(d.getFullYear()!=r[1])return false;
if(d.getMonth()!=r[2])return false;
if(d.getDate()!=r[3])return false;
return true;
}
</script>
dixing 2005-05-31
  • 打赏
  • 举报
回复
顶一下.
seabee 2005-05-31
  • 打赏
  • 举报
回复
请问wyhkgd(自由天神),您的代码要怎么调用啊?我对JAVASCRIPT不熟悉。。。
gzwuyh 2005-05-31
  • 打赏
  • 举报
回复
可以把以上代码存为一个文件,在需要使用时直引用,或直接放到文件中.
方法1:引用法
把以上代码存为:test.js
<script language=javascript src=test.js></script>
<form name=form1>
日期:<input name="date1">
<input value="确定" type=button onclick="alert(isdate(form1.date1.value))" >
</form>

方法2:直接使用
<script language=javascript >
function isdate(dateStr)
{
var datePat = /^(\d{4})(\/|-)(\d{1,2})(\/|-)(\d{1,2})$/;
var matchArray = dateStr.match(datePat); // is the format ok?

if (matchArray == null) {
return false;
}

month = matchArray[3]; // parse date into variables
day = matchArray[5];
year = matchArray[1];

if (month < 1 || month > 12) { // check month range
return false;
}

if (day < 1 || day > 31) {
return false;
}

if ((month==4 || month==6 || month==9 || month==11) && day==31) {
return false;
}

if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day > 29 || (day==29 && !isleap)) {
return false;
}
}
return true;
}

</script>

<form name=form1>
日期:<input name="date1">
<input value="确定" type=button onclick="alert(isdate(form1.date1.value))" >
</form>

如果是日期型则返回true,不是则返回false
gzwuyh 2005-05-31
  • 打赏
  • 举报
回复
这个怎么样?格式可以为:YYYY/MM/DD或YYYY-MM-DD
function isdate(dateStr)
{
var datePat = /^(\d{4})(\/|-)(\d{1,2})(\/|-)(\d{1,2})$/;
var matchArray = dateStr.match(datePat); // is the format ok?

if (matchArray == null) {
return false;
}

month = matchArray[3]; // parse date into variables
day = matchArray[5];
year = matchArray[1];

if (month < 1 || month > 12) { // check month range
return false;
}

if (day < 1 || day > 31) {
return false;
}

if ((month==4 || month==6 || month==9 || month==11) && day==31) {
return false;
}

if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day > 29 || (day==29 && !isleap)) {
return false;
}
}
return true;
}
孟子E章 2005-05-31
  • 打赏
  • 举报
回复
http://www.6to23.com/s11/s11d1/s11d1d2/200477111235.htm
Jade 2005-05-31
  • 打赏
  • 举报
回复
//验证时间
function isShortDate(elem)
{
var pattern=/^(\d{4})(-)(\d{1,2})(-)(\d{2})$/;
var temp=elem.match(pattern);
if(temp==null)
{
alert("签订时间格式不正确! 格式为:2004-12-31");
return false;
}
}

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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