Seu código atual não corresponde a URLs simples, que não possuem o prefixo "http://". Para resolver isso, considere adotar uma expressão regular abrangente:
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)
Essa expressão aprimorada inclui os seguintes recursos:
Para aqueles que não necessitam do protocolo HTTP em suas partidas, uma expressão alternativa está disponível:
[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)
Para demonstrar a funcionalidade dessas expressões, confira as ferramentas de teste on-line em http://regexr.com?37i6s (para a primeira expressão) ou http ://regexr.com/3e6m0 (para a expressão menos restritiva).
Aqui está um exemplo de implementação de JavaScript usando a expressão regular mais abrangente:
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"); }
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3