C# 我接受到一个长字符串,如何判断获取字符串为网址类型的?如*.*.*.*(172.16.9.94),求代码!

大哥们在线求帮请教下,C# 我接受到一个长字符串,如何判断获取字符串为网址类型的?如*.*.*.*(172.16.9.94),求代码!
最新回答
夕颜为谁舞

2024-11-28 10:04:13

public bool IsValidIP(string ip)
{
if (System.Text.RegularExpressions.Regex.IsMatch(ip, "[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}"))
{
string[] ips = ip.Split('.');
if (ips.Length == 4 || ips.Length == 6)
{
if (System.Int32.Parse(ips[0]) < 256 && System.Int32.Parse(ips[1]) < 256 & System.Int32.Parse(ips[2]) < 256 & System.Int32.Parse(ips[3]) < 256)
return true;
else
return false;
}
else
{
return false;
}
}
else
{
return false;
}
}

if (IsValidIP("输入的字符串"))
{
Response.Write("对的");
}
else
{
Response.Write("错的");
}
凤舞九天

2024-11-28 10:20:10

不严格的检查
[\d]{1-3}\.[\d]{1-3}\.[\d]{1-3}\.[\d]{1-3}
正则这样写也就够了

严格的检查,判断每段为0-255
(((2[0-4]\d)|(25[0-5]))|(1\d{2})|([1-9]\d)|(\d))[.](((2[0-4]\d)|(25[0-5]))|(1\d{2})|([1-9]\d)|(\d))
[.](((2[0-4]\d)|(25[0-5]))|(1\d{2})|([1-9]\d)|(\d))[.](((2[0-4]\d)|(25[0-5]))|(1\d{2})|([1-9]\d)|(\d))

代码:
private bool IsIpAddress(string ipAddress)
{
string pattern = @"[\d]{1-3}\.[\d]{1-3}\.[\d]{1-3}\.[\d]{1-3}";
return Regex.IsMatch(ipAddress, pattern);
}
清风未央

2024-11-28 09:50:36

String str;
......//str存入Ip
String tmp[] = str.spilt('.');
tmp里就是分段存放的ip
不腿色的伤口

2024-11-28 09:04:31

((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
ip类型的正则表达式
纸墨清香

2024-11-28 08:31:53

正则表达式验证:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g