簡體   English   中英

用於驗證具有子域的URL的正則表達式

[英]regular expression for validating url with sub-domain

preg_match('/^(http:\\/\/)?(.+)\.MYDOMAIN\.com(.*)/', $url, $match)

這是我的正則表達式,用於驗證必須具有子域的URL,但如果有人使用www而不是子域,則它也會得到驗證。 例如:

  • http://shoes.en.MYDOMAIN.com/這必須通過

  • http://www.MYDOMAIN.com/這必定會失敗

如果子域是www我如何編輯我的正則表達式失敗?

我認為你可以用一個負面的前瞻斷言來做:(?! (?!www\\.)在協議檢查后放置,檢查是否沒有www. 遵循開始或協議。

/^(http:\\\/\/)?(?!www\.)(.+)\.MYDOMAIN\.com(.*)/.test("www.MYDOMAIN.com")

嘗試這一個:測試了一個litle,似乎工作

preg_match('/^(http:\\/\/)?([^(www)]+)\.MYDOMAIN\.com(.*)/', $url, $match);

如何使用當前解決方案首先驗證域,然后使用第二個表達式檢查www:

(\.www\.|http:\/\/www\.|^www\.)

暫無
暫無

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

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