recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Récupérer l'URL d'une chaîne à l'aide d'une expression régulière

let str = "aaaa.com bbbb.com";
let re = /(http:\/\/)?([A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*)/g;
str = str.replace(re,function(a,b,c){return `<a href="http://${c}" target="_blank">${a}</a>`;});
console.log(str);

Cette expression régulière est relativement simple à utiliser. Le seul problème est que s'il y a des espaces dans la chaîne, elle ne peut pas être divisée en deux URL.
Résoudre

phpcn_u1582phpcn_u15822830 Il y a quelques jours472

répondre à tous(2)je répondrai

  • PHP中文网

    PHP中文网2017-05-19 10:15:12

    Il y a un problème avec votre expression régulière, veuillez la modifier comme suit :

    var str = "aaaa.com bbbb.com http://www.yugasun.com";
    var re = /([a-zA-z]+:\/\/)?(([^\s]+)\.([^\s]+))/g;
    str = str.replace(re,function(a,b,c){return `<a href="http://${c}" target="_blank">${a}</a>`;});
    console.log(str);

    répondre
    0
  • 漂亮男人

    漂亮男人2017-05-19 10:15:12

    /(http:\/\/)?[A-Za-z0-9]*\.[A-Za-z0-9]+\.(:?com|cn|org|net|biz|...还有一大堆...)/g

    En parlant de ça, il est vraiment difficile de juger avec précision un nom de domaine qui n'est pas entièrement écrit. Vous pouvez énumérer tous les suffixes du nom de domaine pour juger, mais il y a toujours une erreur. Essayez cette méthode que j'ai écrite. Cette expression régulière est fausse. Essayez de l'écrire selon ma méthode d'écriture.

    répondre
    0
  • Annulerrépondre