」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用正規表示式檢測 URL(包括裸 URL)?

如何使用正規表示式檢測 URL(包括裸 URL)?

發佈於2024-12-20
瀏覽:776

How Can I Use Regular Expressions to Detect URLs, Including Naked URLs?

使用正規表示式偵測 URL

您目前的程式碼無法符合缺少「http://」前綴的裸 URL。為了解決這個問題,可以考慮採用綜合正規表示式:

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)

此增強型表達式包括以下功能:

  • 它確保URL 以“http://”、“ https:/ /”,或什麼都沒有。
  • 它允許透過包含「(www.)」作為可選前綴來建立子網域。
  • 它支援最多 256 個字元的網域長度和頂級域最多 6 個字元。

對於那些在匹配中不需要HTTP 協定的人,可以使用替代表達式:

[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)

要示範這些表達式的功能,請查看線上測試工具:http://regexr.com?37i6s(對於第一個表達式)或http ://regexr.com/3e6m0(對於限制性較小的表達式)。

這是使用更全面的正規表示式的JavaScript 實作範例:

const expression = /[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)/gi;
const regex = new RegExp(expression);
const t = 'www.google.com';

if (t.match(regex)) {
  alert("Successful match");
} else {
  alert("No match");
}
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3