Как добавить разделитель "-" между цифрами?

У меня есть цифры 077777777.

Хочу делать так, чтобы был:

077-77-77-77 

Как это делать?

Надо сделать с помощю Regex.
Я попробовал так:

let numbers = str.match(?:[^-]|^)(1(?:-1)+)(?!-)

Ответы (3 шт):

Автор решения: entithat

Можно так:

const str = "077777777"; 
console.log(str.match(/0?\d{2}/g).join`-`);

Либо так по приколу:

const str = "077777777";
console.log(str[0] + [...str].slice(1).reverse().map((e,i)=>i%2!==0?e+'-':e).join``.slice(0,-1));

→ Ссылка
Автор решения: Zugr
let str2 = "012345678"; console.log(str2.match(/0?\d\d/g).join('-'));

покрутил немного с разными входными данными есть вариант более качественный:

let str2 = "01234500678";
console.log([...[...str2].reverse().join('').split(/(\d\d)/).map(function(v, i) { return i != 0 && v=='' ? '-' : v; }).join('')].reverse().join(''));

→ Ссылка
Автор решения: UModeL

На основе популярного выражения для добавления разрядов:

let rExp = /(^\d{3}|\d)(?=(\d{2})+([^\d]|$))/g;

console.log('12366'.replace(rExp, '$1-'));
console.log('077777777'.replace(rExp, '$1-'));
console.log('1234567890'.replace(rExp, '$1-'));
console.log('5101010101010101010'.replace(rExp, '$1-'));

→ Ссылка