簡體   English   中英

如何驗證通過 javascript 輸入的日期時間字段?

[英]How do i validate a datetime field input through javascript?

I have an HTML page that has several fields and one of them is to select DateTime using jquery plugin, which lets user to select DateTime like: 2011-06-05 07:10 or 2011-03-05 11:10 etc.My problem是如何在將其發布到服務器之前驗證此字段值。我想使用 javascript 確保該字段值僅是此格式的 DateTime 並且不是像"2231""afaf"這樣的無效值。

如果用戶想要篡改他發送的數據,他可以通過繞過 jQuery 插件以及任何附加的客戶端驗證代碼來實現。 那么在客戶端上編寫額外的驗證代碼是沒有意義的。

如果用戶不想篡改他發送的數據,則單獨的 jQuery 插件應確保適當的格式。 那么在客戶端上編寫額外的驗證代碼是沒有意義的。

僅在服務器上驗證此字段。

您也必須在服務器上進行驗證。

客戶端上測試日期字符串的最簡單方法是像這樣使用 Date.parse (除了使用日期解析之外,我沒有測試格式。如果用戶輸入另一種格式,您也需要對其進行測試)

var DT = Date.parse(DateTime.replace("-","/","g"));
if (isNaN(DT)) {
  alert('Invalid date');
  return false;
}
var testDate = new Date(DT);
var parts = DateTime.split(" ")[0].split("-");
if (testDate.getFullYear() != parseInt(parts[0]) ||
    testDate.getMonth() != parseInt(parts[1]-1) ||
    testDate.getDate() != parseInt(parts[2])) {
  alert('Invalid date');
  return false;
}

如果您使用小部件來創建日期,這當然是完全沒有必要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM