Custom date validation

jQuery

by Sparrow Squire

HTML

<select id="day">
  <option value="01">1</option>
  <option value="02">2</option>
  <option value="03">3</option>
  <option value="30">30</option>
  <option value="31">31</option>
</select>
<select id="month">
  <option value="01|2017">Jan</option>
  <option value="02|2017">Feb</option>
  <option value="04|2017">Apr</option>
  <option value="07|2017">Jul</option>
  <option value="08|2017">Aug</option>
</select>

JavaScript

function isValidDate(s) {
    var dateBit = s.split('|');
    var d = new Date(dateBit[2] + '/' + dateBit[1] + '/' + dateBit[0]);
    return !!(d && (d.getMonth() + 1) == dateBit[1] && d.getDate() == Number(dateBit[0]));
}

$(document).ready(function() {
	$('#day, #month').change(function() {
    	var newDate = $('#day option:selected').val() + '|' + $('#month option:selected').val();
      
      isValidDate(newDate);
      
      if (isValidDate(newDate) == false) {
      	alert('Display invalid error message')
      }
  });
});