@ddd2305

Как избежать слипшихся ссылок?

Всем привет, у меня есть регулярное выражение, которое валидирует ссылки, если вкратце:

1. Пропускает одиночные ссылки
2. Пропускает несколько ссылок только используя разделитель между ними (точка с запятой и пробел)
3. Не пропускает слипшиеся ссылки (www.example1.comwww.example2.com)
4. Проверяет, что ссылки начинаются с http, https, либо с www

У меня возникла проблема с третьим пунктом:
Регулярка не пропускает слипшиеся ссылки, начинающиеся с http или https, но пропускает ссылки, начинающиеся с www (как в примере в третьем пункте)
Я пытался решить проблему, сделав после домена обязательными либо слеш, либо знак вопроса (на случай query-параметров). Однако сейчас ссылки валидны, если только после домена стоит слеш либо знак вопроса.

Вопрос: Как сделать так, чтобы после домена содержимое могли идти только после слеша или знака вопроса, и при этом учесть, что после домена может ничего не быть и в таком случае ссылка должна быть валидной

Само регулярное выражение:

/^(https?:\/\/|www\.)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}(\/|\?)([\/\w .-]*)?(#[\w-]*)?(\?.*)?(; (https?:\/\/|www\.)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}(\/|\?)([\/\w .-]*)?(#[\w-]*)?(\?.*)?)*$/
  • Вопрос задан
  • 171 просмотр
Пригласить эксперта
Ответы на вопрос 1
vhood
@vhood
Не забывайте отмечать решения
^(?:^https?\:\/\/)?(?:www\.)?[a-z0-9-]+\.[a-z]+(?:[?\/].*)?$

проверка
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
12 нояб. 2024, в 19:27
1000 руб./за проект
12 нояб. 2024, в 19:03
10000 руб./за проект
12 нояб. 2024, в 18:57
500000 руб./за проект