Thứ Năm, 8 tháng 2, 2018

JavaScript check valid datetime format

HTML:

<input id="clickMe" type="button" value="clickme" onclick="isValidDate('29/102/2000');" />

JS:

function isValidDate(str) {
  var datePattern = /^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/;

  var patt = new RegExp(datePattern);
  var res = patt.test(str);
  if (!res) alert("Sai định dạng");
  else alert("Đúng định dạng");
}