Как заменить строку вида +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, время: 03:21. |