如何用javascript判断输入的是否是正确的日期

从一个表单form里输入的日期,点提交后用javascript判断是否符合2002-10-10这样的格式。这个javascript的判断函数怎么写,请指教!... 从一个表单form里输入的日期,点提交后用javascript判断是否符合2002-10-10这样的格式。这个javascript的判断函数怎么写,请指教! 展开
 我来答
雾塔晨钟书院
2009-10-22 · TA获得超过337个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:164万
展开全部
2种方式,最简单的正则表达式,2行搞定,晚上去搜搜,多的很。

第二种, 用split('-')把‘2002-10-10’分割为三部分,每部分首先判断是不是数字,然后判断数字是不是在范围内。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5476a41
2009-10-22 · TA获得超过883个赞
知道小有建树答主
回答量:1251
采纳率:0%
帮助的人:698万
展开全部
function IsDate(sm,mystring) {
var reg = /^(\d{4})-(\d{2})-(\d{2})$/;
var str = mystring;
var arr = reg.exec(str);
if (str=="") return true;
if (!reg.test(str)&&RegExp.$2<=12&&RegExp.$3<=31){
alert("请保证"+sm+"中输入的日期格式为yyyy-mm-dd或正确的日期!");
return false;
}
return true;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蔷薇恋花语0hG
2009-10-22 · TA获得超过810个赞
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:245万
展开全部
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta content="text/html; charset=gb2312" http-equiv="content-type" />
<title>Untitled Page</title>
</head>
<body>
<input id="phone" type="text" onkeyup="check(this.value)" /><input id="status" type="text" disabled="disabled" style="border:0px;color:Red;" />
</body>
</html>
<script type="text/javascript">
function check(value){
document.getElementById("status").value = (/^[0-9]{4}-([1][0-2]|[1-9])-([1-9]|[1-2][0-9]|[3][0-1])$/).test(value);
}
</script>

\d是没办法直接匹配input文本框输入的数据的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wcwtitxu
2009-10-22 · TA获得超过456个赞
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:159万
展开全部
<script>
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
};
String.prototype.isDate = function() {
return /^(\d{4})\-(\d\d?)\-(\d\d?)$/.test(this) && function() {
with (RegExp) {
var d = new Date($1, $2-1, $3);
return parseInt($1)==d.getFullYear()
&& parseInt($2)==d.getMonth()+1
&& parseInt($3)==d.getDate();
}
}();
};

function check(frm) {
frm.dateInput.value = frm.dateInput.value.trim();
if (!frm.dateInput.value.isDate()) {
alert('日期不正确!');
frm.dateInput.focus();
return false;
}
}
</script>

<form action="..." method="post" onsubmit="return check(this)">
<input name="dateInput" />
<input type="submit" value="提交" />
</form>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式