Ваш текущий код не соответствует голым URL-адресам, у которых отсутствует префикс «http://». Чтобы решить эту проблему, рассмотрите возможность использования комплексного регулярного выражения:
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)
Это расширенное выражение включает в себя следующие функции:
Для тех, кому не требуется протокол HTTP в своих совпадениях, доступно альтернативное выражение:
[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)
Чтобы продемонстрировать функциональность этих выражений, воспользуйтесь инструментами онлайн-тестирования по адресу http://regexr.com?37i6s (для первого выражения) или http://regexr.com/3e6m0 (для менее ограничительного выражения).
Вот пример реализации JavaScript с использованием более полного регулярного выражения:
const expression = /[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)/gi; const regex = new RegExp(expression); const t = 'www.google.com'; if (t.match(regex)) { alert("Successful match"); } else { alert("No match"); }
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3