Su código actual no coincide con las URL desnudas, que carecen del prefijo "http://". Para solucionar este problema, considere adoptar una expresión regular completa:
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)
Esta expresión mejorada incluye las siguientes características:
Para aquellos que no requieren el protocolo HTTP en sus coincidencias, hay disponible una expresión alternativa:
[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)
Para demostrar la funcionalidad de estas expresiones, consulte las herramientas de prueba en línea en http://regexr.com?37i6s (para la primera expresión) o http ://regexr.com/3e6m0 (para la expresión menos restrictiva).
Aquí hay un ejemplo de implementación de JavaScript que utiliza la expresión regular más completa:
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"); }
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3