Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

194
Vistas
Haga coincidir las URL de la cadena pero excluya las URL de la imagen y las URL del documento

Actualmente estoy creando una función para un sistema de mensajería que detecta una URL de la cadena y le agrega una etiqueta de anchor . Pero necesito excluir las URL que apuntan a imágenes y documentos. La función que creé ahora detecta todas las direcciones URL y le agrega etiquetas de anchor , pero también agrega etiquetas de anclaje a imágenes y documentos.

Intenté estas expresiones regulares pero no tuve el resultado deseado.

 /(.[^>"]|[^=]")\b(https?|ftp|file)/gi /(https?:\/\/[^\s]+)/g 

 function urlParsing(text) { var urlRegex = /(https?:\/\/[^\s]+)/g; return text.replace(urlRegex, function(url) { return '<a href="' + url + '">' + url + '</a>'; }) } console.log(urlParsing('Hello john https://stackoverflow.com')); console.log(urlParsing('Hello john https://picsum.photos/200/300.jpg'));

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Agregue una anticipación negativa a su expresión regular. Este es el (?!) grupo, y significa coincidencia siempre que lo que viene antes no sea seguido por nada en el futuro. Luego agregue una verificación para probar el texto contra ese analizador y regrese de la función si la prueba falla.

 function urlParsing(text) { var urlRegex = /(https?:\/\/(?!.*\.(jpg|png|gif|pdf|docx))[^\s]+)/g; if(!urlRegex.test(text)) {return false}; return text.replace(urlRegex, function(url) { return '<a href="' + url + '">' + url + '</a>'; }) } console.log(urlParsing('Hello john https://stackoverflow.com')); console.log(urlParsing('Hello john https://pbs.org')); console.log(urlParsing('Hello john https://picsum.photos/200/300.jpg')); console.log(urlParsing('Hello john https://picsum.photos/200/300.jpg?arg=x&arg2=y')); console.log(urlParsing('Hello john https://picsum.photos/200/300.png')); console.log(urlParsing('Hello john https://picsum.photos/200/300.gif')); console.log(urlParsing('Hello john https://picsum.photos/200/300.pdf')); console.log(urlParsing('Hello john https://picsum.photos/200/300.docx'));

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda