2011-05-16 35 views
2

我試圖實現對域名驗證(在E-mail地址)和主機名之間的差別。在其他幾個項目中,我發現爲此目的,人們使用相同的功能。問題是,有沒有語法它們之間的任何可能的分歧,我應該使用單獨的驗證程序爲他們每個人或它的確定只是一個保持?是什麼主機名和域名(語法)

str.split('.') 
foreach part in str 
    if part.length > max 
     return "name is invalid" 
    if part contains invalid characters 
     return "name contains invalid characters" 
return "name valid" 

它被用於兩個主機名和域名

+1

一個可能的區別是上下文。在特定期望主機名的上下文中,IP地址通常也是可以接受的。但是,如果一個域名是特別期望的,那麼IP就不適合。 – 2011-05-16 10:31:24

+0

@Martinho Fernandes你的評論看起來像一個答案,謝謝。可能我會分開保存它們。 – username 2011-05-16 10:42:03

回答

3

一個可能的差異是因爲上下文。在特定期望主機名的上下文中,IP地址通常也是可以接受的。如果您使用主機名連接到它,則尤其如此。

但是,如果一個域名的預期,有作爲「連接」到一個域名沒有這樣的事情,所以一個IP地址就不會是好的。

0

域名:

我迄今發現看起來像(僞代碼)的例子

域名是唯一的名稱標識的實體,無論是單一的個人或公司,在互聯網上。域名總是有2個或更多份點

主機名分隔:

主機名可以是一個令人困惑,因爲他們有雙重含義。如果地址超過2個部分,則互聯網地址的主機名是完整互聯網地址的最左邊部分。 如果只有2份的地址,那麼主機名是等同於域名

入住這article

+0

TLD是一個技術上的域名,它有一個部分。 – 2011-05-16 10:34:19

+0

感謝您的回答。其實我在提問之前閱讀了這篇文章,但問題是語法上可能會區分主機名和域名的問題 – username 2011-05-16 10:39:15