使用正则表达式验证IP地址-C#学习进阶
实例说明
应用程序使用过程中,如果需要连接到服务器或客户端,那么,有可能会填写IP地址信息,IP地址由4个0到255的数字组成,实例中使用了正则表达式判断用户输入的IP地址格式是否正确。实例运行效果如图所示。
本实例重点在于向读者介绍怎样使用正则表达式验证IP地址,下面对其进行详细讲解。
实例中主要用到了Regex类的IsMatch方法,此方法的使用已经在实例“使用正则表达式验证电话号码”中进行了详细讲解。下面对实例中使用的正则表达式进行详细讲解。
从图中可以看到,详细的描述了"(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)"正则表达式,其中(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)表示匹配数字0至255。
设计过程
(1)打开Visual Studio 2022开发环境,新建一个Windows窗体应用程序,命名为ValidateIP。
(2)更改默认窗体Form1的Name属性为Frm_Main,向窗体中添加一个TextBox控件,用于输入IP地址;添加一个Button按钮,用于验证IP地址格式是否正确。
(3)程序主要代码如下:
public bool IPCheck(string IP)
{
string num = @"(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)"; //创建正则表达式字符串
return Regex.IsMatch(IP, //使用正则表达式判断是否匹配
("^" + num + "\\." + num + "\\." + num + "\\." + num + "#34;));
}
使用Split方法代替正则表达式验证IP地址!
实例中使用了正则表达式验证IP地址格式是否正确,在实际应用中,也可以使用字符串对象的Split方法验证IP地址,首先,调用Split方法跟据字符“.”拆分IP地址字符串为字符串数组,然后,将字符串数组中的字符串转换为数值类型并判断数值范围即可。