Чтобы проверить, действителен или нет URL-адрес с портом, используя JavaScript, вы можете использовать регулярные выражения (регулярные выражения) наряду с другими методами. Вот несколько подходов:
-
Метод регулярного выражения:
Для проверки URL-адреса с портом можно использовать следующий шаблон регулярного выражения:const urlRegex = /^(?:https?:\/\/)?(?:www\.)?[^\s\/:]+(?::\d{2,5})?(?:\/[^\s]*)?$/; const url = "https://example.com:8080/path/to/page"; if (urlRegex.test(url)) { console.log("URL is valid"); } else { console.log("URL is invalid"); }Этот шаблон регулярного выражения позволяет использовать URL-адреса с необязательным префиксом «http://» или «https://», за которым следует необязательный «www». субдомен. Затем оно соответствует имени домена, которое может включать буквенно-цифровые символы и дефисы, за которыми следует необязательный номер порта (например, «:8080»). Наконец, он допускает необязательный путь.
-
Метод анализа URL-адреса.
Другой способ проверить правильность URL-адреса с портом — это проанализировать его с помощью объектаURLв JavaScript:const url = "https://example.com:8080/path/to/page"; try { new URL(url); console.log("URL is valid"); } catch (error) { console.log("URL is invalid"); }Объект
URLвыдаст ошибку, если URL-адрес недействителен. -
Метод разделения.
Вы можете разделить строку URL-адреса и проверить разные части, чтобы определить, действительна она или нет:const url = "https://example.com:8080/path/to/page"; const parts = url.split(":"); const domain = parts[0] + ":" + parts[1]; const port = parseInt(parts[2]); if (isNaN(port)) { console.log("URL is invalid"); } else { console.log("URL is valid"); }Этот метод разбивает URL-адрес по двоеточию (“:”) и проверяет, является ли третья часть допустимым номером порта.