C#关于正则表达式匹配IP地址的问题
我的代码如下:if(Regex.IsMatch(PingtextBox.Text.Trim(),@"\d+.\d+.\d+.\d+")==false){MessageBo...
我的代码如下:
if (Regex.IsMatch(PingtextBox.Text.Trim(), @"\d+.\d+.\d+.\d+")==false)
{
MessageBox.Show("IP格式设置错误!", "提示");
PingtextBox.Focus();
}
else
{
MessageBox.Show("IP格式设置成功!", "提示");
}
为何我在PingtextBox中输入“192.168”,"192.168.1"或者"192.168.0.1.1"这样的字符串,都提示的IP格式设置成功,如何解决。 展开
if (Regex.IsMatch(PingtextBox.Text.Trim(), @"\d+.\d+.\d+.\d+")==false)
{
MessageBox.Show("IP格式设置错误!", "提示");
PingtextBox.Focus();
}
else
{
MessageBox.Show("IP格式设置成功!", "提示");
}
为何我在PingtextBox中输入“192.168”,"192.168.1"或者"192.168.0.1.1"这样的字符串,都提示的IP格式设置成功,如何解决。 展开
2个回答
展开全部
static void Main(string[] args)
{
string wordsIn = Console.ReadLine();
//格式判断
char[] temp = wordsIn.ToCharArray();
int count = 0;
foreach (char c in temp)
{
if (c == '.')
{
count++;
}
}
if (count != 3)
{
Console.WriteLine("001_IP 格式错误");
Console.ReadKey(true);
}
else
{
//数值+格式
string regexIp = "((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)";
Regex ip = new Regex(regexIp);
if (ip.IsMatch(wordsIn))
{
Console.WriteLine("IP 地址正确!");
}
else { Console.WriteLine("002_内容错误"); }
Console.ReadKey(true);
}
}
为啥测试是正确的?!
{
string wordsIn = Console.ReadLine();
//格式判断
char[] temp = wordsIn.ToCharArray();
int count = 0;
foreach (char c in temp)
{
if (c == '.')
{
count++;
}
}
if (count != 3)
{
Console.WriteLine("001_IP 格式错误");
Console.ReadKey(true);
}
else
{
//数值+格式
string regexIp = "((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)";
Regex ip = new Regex(regexIp);
if (ip.IsMatch(wordsIn))
{
Console.WriteLine("IP 地址正确!");
}
else { Console.WriteLine("002_内容错误"); }
Console.ReadKey(true);
}
}
为啥测试是正确的?!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询