Задать вопрос
wooly
@wooly
Делаю фронт, пока не соскучусь за бэком

Как вывести номера телефона по маске?

Есть номер телефона +79031002020, на выводе надо его пропустить через функцию и выдать в итоге +7 903 100 2020.
Как такое сделать?

В голову приходит только не особо красивое решение:

const phoneMask = str =>{
        var num =   str.replace( /\D/g, '' ).split( /(?=.)/ ), i = num.length - 1;
        if ( 0 <= i ) num.unshift( '+ ' );
        if ( 1 <= i ) num.splice( 2, 0, ' ' );
        if ( 4 <= i ) num.splice( 6, 0, ' ' );
        if ( 7 <= i ) num.splice( 10, 0, ' ' );
        return num
    }
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@historydev Куратор тега JavaScript
Редактирую файлы с непонятными расширениями
Click

const replacePhone = (phone) => phone.split('').map((el, i) => i === 1 || i === 4 || i === 7 || i === 9 ? el+' ' : el).join('');

console.log(replacePhone('+79031002020'));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
alex4answ
@alex4answ
у вас же есть str.replace, можете там шаблоны использовать
Ответ написан
Ваш ответ на вопрос

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

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