2012-06-04 30 views
0

我需要一個正則表達式,將檢查域名包括像 字符A-Z A-Z 0-9 -正則表達式的有效域名查詢在PHP

也做有下劃線的任何域名_人物?

請幫幫我。

+1

你用'FILTER_VALIDATE_URL'試過['filter_var()'](http://php.net/manual/en/function.filter-var.php)嗎? – Maerlyn

+0

不,我沒有。但是在一個我們不應該允許域名如www.platform.com/test的場景下工作。 /測試或測試不應該被允許。 –

+0

我的意思是說應該只有域名或域名與子域名。沒有其他部分是允許的。 –

回答

1

我猜這是什麼youre尋找:

^[A-ZA-Z0-9] + - (COM |組織(+ [A-ZA-Z0-9])? |網絡|萬| EDU |代| COM | ORG |網絡| MIL | EDU | DE)$

+0

我想它不會起作用,因爲擴展名可能是.in或.co.in之類的東西。我只是想確保不應該有任何斜線或任何不需要的字符。只有域名應該在那裏。 –

+1

還有大約250個其他頂級域名 – undone

+1

,你可以在你的正則表達式中加上'i'修飾符來防止重複! – undone

1

這個正則表達式將任意數量的子域和所有頂級域名工作(世界不只是murka ):

/^ (?: [a-z0-9] (?:[a-z0-9\-]* [a-z0-9])? \.)* #Subdomains 
    [a-z0-9] (?:[a-z0-9\-]* [a-z0-9])?   #Domain 
    \. [a-z]{2,6} $        #Top-level domain 
/ix 

域名不能有下劃線。只有[a-zA-Z0-9]以及連字符(如果它們不在子域名稱的開始或結尾處)。

+2

域名可以有下劃線。主機名不能。有一個區別,他很可能擔心主機名,但我只是想我應該指出這一點。 –

+0

什麼域名可以有下劃線?我試了這個..我去了godaddy,嘗試搜索e_s.com並將其更正爲es.com。然後,進入cPanel嘗試使用_添加子域,並且表示它無效。試圖找出什麼域名可以有下劃線?你指的是/之後發生了什麼?試圖弄清楚這一點。很抱歉把這個備份起來。這篇文章對我很有幫助,所以想仔細檢查一下你指的是什麼。 – kdjernigan