2013-10-24 55 views
-1

后,我有以下的IP验证的正则表达式:正则表达式模式 - 允许 '' 和 ':' IP和主机名

^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ 

和正则表达式的主机名验证:

^([a-zA-Z0-9]([a-zA-Z0-9\-_]{0,61}[a-zA-Z0-9])?\.)*[a-zA-Z0-9]([a-zA-Z0-9\-_]{0,61}[a-zA-Z0-9])?$ 

我怎么也得改变他们,允许验证:

1)叶 - 172.17.1.1:80172.17.1.1,80172.17.1.1

2)主机名 - MACHINENAME:80,并计算机名,80MACHINENAME

+0

这是您使用的语言! – Anirudha

+0

@Anirudth我正在使用C# –

回答

0

Already discussed

public static bool IsValidHostAddress(string hostAddress) 
{ 
    const string Pattern = @"^(([0-9]{1,3}.){3}([0-9]{1,3})|localhost):\d+$"; 
    var regex = new Regex(Pattern, RegexOptions.Compiled); 
    return regex.Match(hostAddress).Success; 
} 
+0

如果它已被回答,随意将堆栈标记为重复项! – Gusdor

0

你为什么不使用Uri.CheckHostName(string name)方法?

确定指定的主机名是否为有效的DNS名称。

参数名称具有以下文件:

主机名进行验证。这可以是IPv4或IPv6地址或Internet主机名。