Маска ввода также должна принимать пять цифр
Я использую плагин маски ввода 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 });
}
});