Ну, я думаю, хорошо иметь замаскированный вход, но я предпочитаю проверять входное значение, потому что такие плагины обычно работают с регулярным выражением изнутри.
Мое решение для этого может быть:
(отредактировано и проверено)
Добавление div для сообщения
<form id="frm">
<input type="text" class="date">
<div id="msg"></div>
<input type="submit" value="Click Me"/>
</form>
JS:
<script type="text/javascript">
function verifyDate(datevalue) {
var done = false;
if(datevalue != null || datevalue != ''){
//split the date as a tmp var
var tmp = datevalue.split('/');
//get the month and year
var month = tmp[0];
var year = tmp[1];
if(month >= 1 && month <= 12){
if(year >= 1990 && year <= 2099){
//clean the message
clean();
//finally, allow the user to pass the submit
done = true;
} else {
$('#msg').html('Year must be from 1990 - 2099.');
}
} else {
$('#msg').html('Month is invalid.');
}
}
return done;
}
function clean() {
$('#msg').html('');
}
jQuery(function($) {
//mask the input
$(".date").mask("12/2099");
$('#frm').submit(function() {
var datevalue = $('.date').val();
return verifyDate(datevalue)
});
$(".date").keyup(function(){
//get the date
var datevalue = $(this).val();
//only if the date is full like this: 'xx/xxxx' continue
if(datevalue.length == 7) {
verifyDate(datevalue);
} else {
clean();
}
});
});
</script>
Надеюсь, это поможет.
Привет.