0

我正在尝试从表单中获取日期值。我在这里尝试做的是获取值,然后将该值与正则表达式进行比较。然后我尝试创建一个日期对象,在其中将日期值设置为匹配结果。NaN即使我输入了正确的格式,我的控制台也会返回。关于如何修改它以便正确设置日期值的任何想法?

var adate = document.getElementById("dueDate").value;
var datestring = new RegExp("[0-9]{4}\\.\[0-9]{2}\\.\[0-9]{2}");
var stringmatch = adate.match(datestring);
var date = (new Date()).setDate(stringmatch);
console.log(date);
if (checkInputText(date, "Please enter a due date")) {
    return;
}
4

1 回答 1

0

当我稍微更改正则表达式并执行此操作时,我得到了字符串匹配和日期的值,而你的却没有。

     var adate = "11/09/2288";
     var datestring = /^(\d{2}[.\/-])(\d{2})([.\/-]\d{4})$/;
     var stringmatch = adate.match(datestring);
     var d = new Date(stringmatch[0]);
     var date = d.setDate(stringmatch[2]);

Date.setDate(day) <-- 用法,我不确定你想在这里做什么。在我的硬编码日期中,您希望设置“09”吗?我正试图围绕你想要完成的事情展开我的大脑。

于 2013-02-25T22:18:43.387 回答