Как добавить разделитель "-" между цифрами?
У меня есть цифры 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-'));