Как отформатировать номера телефонов?
Как делаю я для веба:
На сам input ставлю regexp, который форматирует номер по нужному мне формату, а далее проверяю его уже на сервере, если вдруг подменили номер каким-нибудь TamperData. 
На серверной, удаляю все тире, скобки и пробелы. Далее сверяю размер номера, там два варианта возможны с 7/8 или без. Всё, если удовлетворяет всем условиям - пишем в базу.
https://github.com/googlei18n/libphonenumber
там есть ссылки на порты под разные языки