簡體   English   中英

如何檢查字符串是否包含JavaScript中的URL?

[英]How can I check if a string contains a URL in javascript?

確定字符串中是否存在URL的正則表達式模式是什么?

我想檢查一下:

http://mydomain.com

http://www.mydomain.com

如果不清楚,是要檢查特定域還是僅檢查任何域。

  1. 檢查任何以http://domain.comwww.domain.com形式的域:

    /(http:\\/\\/|www\\.)\\S+/i.test(yourString)

  2. 檢查特定的mydomain.com:

    /http:\\/\\/(www\\.)?mydomain\\.com/i.test(yourString)

您可以嘗試以下javascript代碼:

if(new RegExp("[a-zA-Z0-9]+://([a-zA-Z0-9_]+:[a-zA-Z0-9_]+@)?([a-zA-Z0-9.-]+\\.[A-Za-z]{2,4})(:[0-9]+)?(/.*)?").test(myUrl)) {
  // TODO
}

實際上,URL的真正完整正則表達式是:

[a-zA-Z\d]+://(\w+:\w+@)?([a-zA-Z\d.-]+\.[A-Za-z]{2,4})(:\d+)?(/.*)?

如果需要,可以測試2個站點:

  1. 正則表達式測試器
  2. 一個JavaScript測試器

希望對您有幫助。

如果您提前知道域名,則可以


if(myString.indexOf("http://mydomain.com") != -1)
{
//substring found, do stuff
}

在此處查看更多信息: http : //www.w3schools.com/jsref/jsref_IndexOf.asp

如果您不提前知道域,則正則表達式可能是您的最佳選擇

http:// [az] 。[az] 。?[az] 。?[az]

您可以在http://www.regexplanet.com/上對其進行測試

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM