suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript – URL aus einem String mithilfe von Regex abrufen

1

2

3

4

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

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_u15822872 Tage vor496

Antworte allen(2)Ich werde antworten

  • PHP中文网

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

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

    1

    2

    3

    4

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

    Antwort
    0
  • 漂亮男人

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

    1

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

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

    Antwort
    0
  • StornierenAntwort