На проектах использую плагин для vue -
https://www.npmjs.com/package/v-mask
Очень прост в использовании, но не без недостатков(пример - в документации заявлены опциональные символы, по факту они не работают. Также, при попытке редактировать не с конца - перескакивает курсор в конец строки ИТП.)
Рассматриваю альтернативу -
https://www.npmjs.com/package/cleave.js?activeTab=... на демо страничке работает без багов, но он сложнее в использовании, пока его не пробовал.