| 
 Как заменить строку вида +79218887755 или 777666 Здравствуйте!!! Помогите понять как получая строку func('+79219997788') создать с помощью регулярки +7 921 999 77 88, а если func('997788') то 997 788, т е пробелы для таких '+79219997788' и таких номеров '997788'. И есть способ для 6тизначных менять вид на 99 77 88, но чтоб это все было в одной регулярке? | 
| 
 jabbascript, 997788 сколько пробелов 2 или 1? | 
| 
 Цитата: 
 | 
| 
 Цитата: 
 
let val='+79219997788';
let re=/(\+\d)(\d{3})(\d{3})(\d\d)(\d\d)/;
alert(val.replace(re,'$1($2)$3-$4-$5'));
val='997788';
re=/(\d{3})(\d{3})/;
alert(val.replace(re,'$1-$2'));
Вместо пробелов поставил "-", для наглядности... | 
| 
 Цитата: 
 let val='997788'; let re=/(\d\d)(\d\d)(\d\d)/; alert(val.replace(re,'$1-$2-$3')); | 
| 
 jabbascript, 
<script>
let reg = /(\+7|\d{3}(?=\d{3})|\d{2}(?=\d{2}))/g;
const func = str => str.replace(reg, `$1 `)
document.write(func('+79219997788') + '<br>')
document.write(func('997788') + '<br>' )
document.write(func('+79219997788') + '<br>')
document.write(func('997788') + '<br>' )
</script>
 | 
| 
 Цитата: 
 
<script>
let reg = /(\+7|\d{3}(?=\d{4})|\d{2}(?=\d{2}))/g;
const func = str => str.replace(reg, `$1 `)
document.write(func('+79219997788') + '<br>')
document.write(func('997788') + '<br>' )
document.write(func('+79219997788') + '<br>')
document.write(func('997788') + '<br>' )
</script>
 | 
| 
 Всем спасибо помогло! надо почитать про такие еще символы (?= и понять их. Просто оч редко эти регулярки нужны мне были. | 
| Часовой пояс GMT +3, время: 01:23. |