Задать вопрос
@ikerya

Как сделать .replace, чтобы добавить в начало найденной строки свой текст, если его нету в начале этой же, найденной строки?

Допустим, у меня есть такое регулярное выражение:
/((http(s)?:\/\/(www\.)?)?[a-zA-Z]+(\.[a-zA-Z0-9]+)?\.[a-zA-Z0-9]+(\/)?([^\s]*))/g;

Оно может словить ссылку toster.ru, так и должно быть, но я использую эту регулярку для поиска ссылок в тексте и заменяю их на теги в этом же тексте вот так:

params.text.replace(links_regexp, `<a href="$1" target="_blank">$1</a>`);

И, понятное дело, что если http:// или https:// в ссылке нету, то при переходе по этой ссылке, пользователя перебросит на сайт.ру/ссылка, то есть, сосчитает за папку этого сайта. Так вот, как можно добавить в ссылку http://, если его там нету?
  • Вопрос задан
  • 110 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@BorisKorobkov
Web developer
Вторым параметром replace указывайте не строку, а callback-функцию, в которой и сделайте нужную вам проверку наличия протокола.
https://developer.mozilla.org/en-US/docs/Web/JavaS...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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