validate Date pro

by dtnguyen_1608

HTML

<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    <input id='fđoo' type='text' class="date-number">
    
        <input id='foo' type='text' class="only-text">

JavaScript

$(document).on('keyup', '.only-text', function(e) {
  $(this).val($(this).val().replace(/[^A-Za-z]/g, ''))
});

$('.date-number').keydown(onlyNumberMore);

$(document).on('focusout', '.date-number', function(e) {
  var vbdItem = this.value;
  if (vbdItem.length == 4) {
    $(this).val("01/01/" + vbdItem);
  } else if (vbdItem.length == 6) {
    var sVal = vbdItem.replace(/(\d{2})(\d{4})/, '$1' + '/' + '$2');
    $(this).val("01/" + sVal);
  } else if (vbdItem.length == 8) {
    var sVal = vbdItem.replace(/(\d{2})(\d{2})(\d{4})/, '$1' + '/' + '$2' + '/' + '$3');
    $(this).val(sVal);
    if (vbdItem.charAt(1) === '/') {
      var sVal = vbdItem.replace(/(\d{1}\/)(\d{1}\/\d{4})/, '$1' + '0' + '$2');
      $(this).val("0" + sVal);
    }
  } else if(vbdItem.length == 9) {
  			if( '0' <= vbdItem.charAt(1) <= '9'){
        var sVal = vbdItem.replace(/(\d{2}\/)(\d{1}\/\d{4})/, '$1' + '0' + '$2');
      $(this).val(sVal);
        }
        if( vbdItem.charAt(1) === '/'){
      $(this).val("0" + vbdItem);
        }

   }
  $(this).attr({
    maxLength: 10
  });
  var re = validateAppDate(vbdItem);
  if (re) {
    console.log('dung');
  } else {
    console.log("sai");
  }
});

function validateAppDate(value) {
  var regex = /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g;
  var re = regex.test(value);
  return re;
}

function onlyNumberMore(event) {
  var key = window.event ? event.keyCode : event.which;
  if (event.keyCode == 8 || event.keyCode == 46 || event.keyCode == 191 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 39 || event.keyCode == 40 || event.keyCode == 144 || event.keyCode == 20 || event.keyCode == 96 || event.keyCode == 97 || event.keyCode == 98 || event.keyCode == 99 || event.keyCode == 100 ||...