novomir
@novomir
Landing Page, CRM, Support

Как сделать игнорирование первой 8-ки в маске с +7?

Добрый день.
Использую jquery.maskedinput.js, и маску вида
$("input[name='phone']").mask("+7 (999) 999-99-99");


Возник такой момент, пользователи по привычке начинают писать с 8-ки номер и в итоге заявка уходит с номером без последней цифры, приходится гадать какой был номер. Можно ли как-то модифицировать код, чтобы нажатие первой 8-ки игнорировалось?
  • Вопрос задан
  • 5665 просмотров
Решения вопроса 1
Afres
@Afres
Product Owner
Альтернативное решение стандартным методом плагина:
$.mask.definitions['~']='[78]';
$("[name=phone]").mask("~ (999) 999-9999");

Первый символ можно ввести только 7 или 8.

Рекомендую еще допилить перестановку курсора в начало строки, тут есть годная статья.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@saltydogd
var customOptions = {
  onKeyPress: function(val, e, field, options) {

    if (val.replace(/\D/g, '').length===2)
    {
        val = val.replace('8','');    
        field.val(val);
     }
     field.mask("+7 (999) 999-99-99", options);
    },
    placeholder: "+7 (___) ___-__-__" 
};

$("input[name='phone']").mask("+7 (999) 999-99-99", customOptions);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы