В дополнение к удалению input.val ("") в checkVal () вы также можете изменить вызов на clearBuffer.В исходном коде это: clearBuffer (0, len);удаляя весь пользовательский ввод.если вы измените это на clearBuffer (lastMatch + 1, len);будет отображаться пользовательский ввод, а затем заполнители маски, которые все еще необходимы для правильного ввода.
Я также добавил сообщение пользователя в .bind.Это работает для нас, так как мы используем MaskedInput только для одного типа ввода.Я проверяю любой ввод, идущий дальше позиции 7, потому что именно там начинается пользовательский ввод.
Вот что я сделал:
.bind("blur.mask", function() {
// find out at which position the checkVal took place
var pos = checkVal();
// if there was no input, ignore
if (pos <=7) {input.val(""); clearBuffer(0, len);}
// if the user started to input something, which is not complete, issue an alert
if (pos > 7 && pos < partialPosition) alert("Tell the user what he needs to do.");
if (input.val() != focusText)
input.change();
})