2011-05-16 36 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