jQuery Mask замена первой цифры телефона

114
04 сентября 2019, 12:00

Есть инпут, в который вводится номер телефона. На инпут навешана маска:

$('input[name="phone"]').mask("+7 (999) 999-9999");

Цель такая, если человеком вводится первая цифра "8" или "7", то в инпуте эти цифры не отображаются. а просто выводится: "+7 (", если остальные цифры, то как обычно. Как я не пробовал не получается убрать эти самые цифры, т.е. ввожу "7", отображается "+7 (7", с восьмеркой также. Предположил, что можно переопределить значение инпута в событиях keyup, keydown, keypress и т.п., но не получается. Остановился вот на этом:

$('input[name="phone"]').on('keyup', function(ex) {
    var $this = $(this);
    if(ex.which == 55 || ex.which == 56 || ex.which == 103 || ex.which == 104) {
        $this.val('+7');
        $this.mask("+7 (999) 999-9999");
        //$this.trigger('keyup');
    }
});

Подскажите, как и возможно ли убрать первую вводимую цифру? Попробовал еще возвращать false в функции, но не помогло, просто исчезает маска, пробовал метод unmask применять и играться с ним, но тоже безрезультатно.

READ ALSO
Как я могу скачать картинку по url в папку через js или React

Как я могу скачать картинку по url в папку через js или React

У меня есть input поле, и я ввожу туда url картинки(например https://paygoogle

121
Декларация функции в цикле for

Декларация функции в цикле for

Является ли декларация функции в цикле for антипаттерном, ведущим к каким нибудь реальным негативным последствиям?

95
Прозрачность в canvas сжимает картинку

Прозрачность в canvas сжимает картинку

Только знакомлюсь с canvas и хотел бы выяснить, как в нем реализовать обычный opacityПотому что при использовании globalAlpha картинка сжимается, а не исчезает

117
Как передать данные в json файл при нажатии на кнопку в другой файл

Как передать данные в json файл при нажатии на кнопку в другой файл

Сейчас оно заменяет данные в namejson(полностью его стирает и добавляет новое) и как то не так, а нужно их добавить

131