我想验证日期输入框以及应该验证日期的日期选择器,例如
09-30-2016
09/30/2016
但是我能够在输入bix中处理mm-dd-yyyy
和mm/dd/yyyy
但在datepicker中处理不正确。
我的代码:
function isValidDate(input) {
var regexes = [
/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/,
/^(\d{1,2})\-(\d{1,2})\-(\d{4})$/
];
for (var i = 0; i < regexes.length; i++) {
var r = regexes[i];
if(!r.test(input)) {
continue;
}
var a = input.match(r), d = new Date(a[3],a[1] - 1,a[2]);
if(d.getFullYear() != a[3] || d.getMonth() + 1 != a[1] || d.getDate() != a[2]) {
continue;
}
// All checks passed:
console.log(input);
return true;
}
return false;
}
$(document).on('blur','.dateValidation',function(){
var isValid = isValidDate($(this).val());
if(!isValid) {
$('.date_error').html('Invalid date format!');
return false;
}
});
$(document).on('click','.date',function(){
alert("test");
$(this).datepicker({todayHighlight: true,autoclose: true,autoclose: true}).datepicker("show");
});