Html 如何强制输入日期格式为dd/mm/yyyy?
我有个小问题。我正在开发一个web系统,表单字段类型date让我头疼。该系统仅适用于巴西用户,则日期格式应为dd/mm/yyyy。当使用葡萄牙语从计算机访问站点时,HTML表单字段类型的日期按我所希望的方式工作。但当以计算机语言访问网站时,英文日期格式变为yyyy-mm-dd。这是一个问题,因为有时用户甚至没有注意到计算机的日期格式已更改,但用户希望以dd/mm/yyyy格式查看日期 我需要的是,无论访问站点的机器设置如何,格式都是dd/mm/yyyy,并且不使用任何其他javascript库 使用的代码是:Html 如何强制输入日期格式为dd/mm/yyyy?,html,date,datetime,Html,Date,Datetime,我有个小问题。我正在开发一个web系统,表单字段类型date让我头疼。该系统仅适用于巴西用户,则日期格式应为dd/mm/yyyy。当使用葡萄牙语从计算机访问站点时,HTML表单字段类型的日期按我所希望的方式工作。但当以计算机语言访问网站时,英文日期格式变为yyyy-mm-dd。这是一个问题,因为有时用户甚至没有注意到计算机的日期格式已更改,但用户希望以dd/mm/yyyy格式查看日期 我需要的是,无论访问站点的机器设置如何,格式都是dd/mm/yyyy,并且不使用任何其他javascript库
<input type="date" id="date">
没有这样的事。
input type=date
将选择您的系统默认值并在GUI中显示,但将始终以ISO格式(yyyy-mm-dd)存储值。此外,请注意,并非所有浏览器都支持这种输入,因此依赖这种输入类型还不是一个好主意
如果这是公司的问题,请强制所有计算机使用本地区域格式(dd-mm-yyyy),您的用户界面将以此格式显示(更改区域设置之前,请参阅wufoo链接,您需要重新打开浏览器)
- 见:例如
- 有关浏览器支持,请参见
- 参见:有关规格演示:
要在不考虑计算机设置的情况下使用固定日期格式,必须使用3个不同的输入元素分别捕获日期、月份和年份。但是,您需要验证用户输入,以确保您具有如下所示的有效日期<input id="txtDay" type="text" placeholder="DD" /> <input id="txtMonth" type="text" placeholder="MM" /> <input id="txtYear" type="text" placeholder="YYYY" /> <button id="but" onclick="validateDate()">Validate</button> function validateDate() { var date = new Date(document.getElementById("txtYear").value, document.getElementById("txtMonth").value, document.getElementById("txtDay").value); if (date == "Invalid Date") { alert("jnvalid date"); } }
这里有一个微笑的问题:我想你需要重新阅读这个问题。如果你要有单独的输入,你应该至少有一个月的下拉列表,显示月份的名称(或缩写)。通过这种方式,控件本身就可以说话,包括在不识别验证 函数validateDate(){ var date=新日期(document.getElementById(“txtYear”).value,document.getElementById(“txtMonth”).value,document.getElementById(“txtDay”).value); 如果(日期=“无效日期”){ 警报(“有效日期”); } }
占位符的旧浏览器中。此外,确保服务器端脚本拒绝2位数的年份。这样,如果有人试图使用YMD格式,那么它将捕获错误,并且还消除了任何产生歧义的机会。
<input id="txtDay" type="text" placeholder="DD" /> <input id="txtMonth" type="text" placeholder="MM" /> <input id="txtYear" type="text" placeholder="YYYY" /> <button id="but" onclick="validateDate()">Validate</button> function validateDate() { var date = new Date(document.getElementById("txtYear").value, document.getElementById("txtMonth").value, document.getElementById("txtDay").value); if (date == "Invalid Date") { alert("jnvalid date"); } }