javascript接受多种日期格式

时间:2015-09-29 15:04:08

标签: javascript python date web format

我应该在这篇文章的前言中说我是一名具有通用IS学位的非常基础的开发人员。在没有详细介绍的情况下,我从一名实习软件工程师那里获得了一个中等大小的Web应用程序,以便在需要时支持增强功能。它主要使用Python,JavaScript和HTML5编写,并使用Google Map API直观地表示给定输入的位置和用途。这引出了我的问题。

应用程序/用户使用日期选择器模式。他们选择一个START和END日期,默认格式为YYYY-MM-DD(如果用户没有使用那种确切的格式(即2015-09-29),日期选择器将不起作用),然后应用程序转到DB并在这些日期之间选择给定的输入并在地图上表示它们。有人告诉我,为了便于使用,我必须使程序接受多种日期格式(即2015年9月29日,2015年9月29日,2015年9月29日,2015年9月29日,9月29日)。我该怎么做呢?

2 个答案:

答案 0 :(得分:0)

您可以使用Javascript向用户提供正确使用格式的反馈。但是,如果要将任何数据提供给服务器,请确保验证服务器上的数据。

要验证正确的数据格式,您可以使用正则表达式并检查是否有任何格式正确。您应该遍历所有允许的可能性,直到发现一个正确。

答案 1 :(得分:0)

从用户体验的角度来看,最好的选择不是尝试解析多种格式,而是规范化接受的输入。

对于日期,您不是要使用日历选择器而不是手动输入日期吗?

看看这个jQuery solution,或者谷歌,有很多不使用jQuery,你可以通常指定outupt格式,以便获得所需的格式。

这是一个做你想做的事的例子:http://jsfiddle.net/ezygkgxt/

HTML

<label>Date: <input name='date' /></label>
<input type='hidden' id='actualDate' />

JS

$("input[name='date']").datepicker({
  altFormat: "yy-mm-dd",
    altField: "#actualDate"
});

$("input[name='date']").change(function(){
    window.alert("The current chosen date is: "+$("#actualDate").val());
});