suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript – URL aus einem String mithilfe von Regex abrufen

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);

Dieser reguläre Ausdruck ist relativ einfach zu verwenden. Das einzige Problem besteht darin, dass die Zeichenfolge nicht in zwei URLs aufgeteilt werden kann.
Lösen

phpcn_u1582phpcn_u15822829 Tage vor465

Antworte allen(2)Ich werde antworten

  • PHP中文网

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

    你的正则有问题,修改如下:

    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);

    Antwort
    0
  • 漂亮男人

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

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

    话说这种没写全的域名还真没法准确判断了,你可以把所有的域名后缀都枚举出来判断,但是还是有误差。试试我写的这个办法,这个正则写的不对,你自己按我的写法写出来试试。

    Antwort
    0
  • StornierenAntwort