Добрый день!
Пытаюсь реализовать маску ввода телефона на основе
IMask
Использую паттерн: "{+7} (000) 000-00-00"
И столкнулся с довольно актуальной проблемой: многие до сих пор записывают номер телефона в формате "8 921 XXX-XX-XX".
Для ввода телефона и вставки из буфера обмена сделал такой "воркэраунд":
// вставка телефона из буфера обмена
if (eventType == "paste" && inputPhone.length > 10) {
if (inputPhone.startsWith(89) || inputPhone.startsWith(88) || inputPhone.startsWith(78) || inputPhone.startsWith(79)) {
result = inputPhone.substring(1);
$('input.phone').val(result);
}
}
// ручной ввод телефона через «восьмерку»
if (eventType == "keypress") {
if (inputPhone.startsWith(789) || inputPhone.startsWith(788) || inputPhone.startsWith(778) || inputPhone.startsWith(779)) {
result = inputPhone.substring(2);
$('input.phone').val(result);
}
}
Но никак не могу решить случай, когда номер телефона в формате "8 XXX XXX-XX-XX". подставляется из телефонной книги на iOS (на Андроид не тестировал пока).
Подскажите, пожалуйста, на каком событии можно отловить
автоподстановку и
подставляемое значение, чтобы корректно обработать этот номер телефона?