Маска ввода также должна принимать пять цифр

Я использую плагин маски ввода JQuery, как:

var s = jQuery.noConflict();
    s(document).ready(function () {
    s(".zipmask").mask('99999-9999');
});

Он принимает цифры, такие как 12345-1111 и работает нормально. Теперь я хочу, чтобы он поддерживал пять цифр, например, если мы введем только "12345", он должен принять его.

2 ответа

Решение

Вы должны использовать это следующим образом: что-нибудь после '?' не является обязательным.

s(function(){
    s(".zipmask").mask("99999?-9999");
});

В моем случае следующий код работает как шарм.

              var zipcodeLength = 0;
        $('[mask=zipcode]').on("focus", function () {
            $('[mask=zipcode]').mask('00000-0000');
        });
        $('[mask=zipcode]').on("change", function () {
            $('[mask=zipcode]').mask('00000-0000');
            zipcodeLength = $(this).val().replace(/[^0-9]/g, "").length;
            if (zipcodeLength > 5) {
                $(this).mask('00000-0000', { clearIfNotMatch: true });
            } else {
                $(this).mask('00000', { clearIfNotMatch: true });
            }
        });
Другие вопросы по тегам