只给什么我试图做一些背景:javascript日期验证
- 我在美国的美国机器上
- 我使用铬
- 我在控制面板 - >区域和语言中更改我的机器设置 - “英语(英国)”
- 在Chrome下 - >设置 - >语言和输入设置,我删除了“英语(美国)”,并添加了“英语)“
我有一个带有一个输入框的html页面,我想验证输入框中的文本是基于用户客户端语言环境的有效日期。所以在美国用户可以输入“11/20/2013”,英国用户可以输入“2013年11月20日”。
<input type="text" id="dt" />
<input type="button" id="validate" value="validate" />
<script>
$(document).ready(function() {
$('#validate').click(function() {
if (isNaN(Date.parse($('#dt').val())) == true)
alert('date is invalid!');
else
alert('valid date');
});
});
</script>
看来,Date.parse()总是期望美国格式(DD/MM/YYYY)。任何想法如何我可以得到基于客户端区域设置的验证?
我认为这个答案会帮助你:http://stackoverflow.com/a/2587398/693275 –
你应该告诉用户日期应该在什么格式,因为有很多变化,你会有相当多的任务试图验证所有的日期变化,并且当用户无法使用时会让用户感到困惑,并且他们不容易找到日期格式。 – adeneo
adeneo我看到你在说什么,但我不想强迫用户输入不同地区的格式。为什么英国用户需要以美国格式输入,为什么美国用户需要以英国格式输入? – malkassem