Как правильно парсить номер телефона?
Делайте регуляркой:function parseMobile(mobile) {
  let mob = String(mobile).replace(/[^0-9]/g, '')
  if (mob.length === 10 && mob.substr(0, 3) === '033')
    mob = '777' + mob.substr(1)
  return mob
}
1) с входящей строки удалить все что не есть числом;
В цикле пройти по всем символам и проверить каждый, для isDigit лучше написать специальную функцию, Гугл в помощь "javascript check if char is digit", формировать новую строку и в нее в этом цикле помещать только символы-числа.2) если номер начинается на определенные цыфры заменить их друими.
Это элементарно, уже после того как сделали первое.
И главное, во-первых такой алгоритм лучше реализовывать на сервере, все равно он там понадобится для валидации, во-вторых в интернете есть фреймворки, библиотеки и просто готовые примеры, но их надо уметь искать.