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 ||...