cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Dapatkan url daripada rentetan menggunakan regex

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

Ungkapan biasa ini agak mudah digunakan Satu-satunya masalah ialah jika terdapat ruang dalam rentetan, ia tidak boleh dibahagikan kepada dua URL.
Selesaikan

phpcn_u1582phpcn_u15822829 hari yang lalu468

membalas semua(2)saya akan balas

  • PHP中文网

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

    Terdapat masalah dengan ekspresi biasa anda, sila ubah suai seperti berikut:

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

    balas
    0
  • 漂亮男人

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

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

    Bercakap mengenainya, adalah sangat sukar untuk menilai dengan tepat nama domain yang tidak ditulis sepenuhnya Anda boleh menghitung semua akhiran nama domain, tetapi masih terdapat ralat. Cuba kaedah yang saya tulis ini adalah salah.

    balas
    0
  • Batalbalas