只給什麼我試圖做一些背景: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