美国上市公司,专注Java培训21年

如何验证IP 地址的有效性


【实例描述】
IP 地址是网络上每台计算机的标识,在浏览器中输入的网址也是要经过DNS 服务器转换
为IP 地址才能找到服务器的,在很多网络程序中要求输入服务器IP 地址或者对方连接的IP 地
址,IP 地址的错误输入将使程序无法运行。本实例将实现对IP 地址的验证功能,实例的运行
效果如图4.14 所示。

验证IP 地址的有效性

【实现过程】
(1)在Eclipse 中新建项目CheckIP,并在其中创建一个CheckIP.java 文件。在该类的主方
法中创建标准输入流的扫描器对象,接收用户输入的IP 地址。核心代码如下所示:
protected void do_button_actionPerformed(ActionEvent e) {
String text = ipField.getText(); // 获取用户输入
String info = matches(text); // 对输入文本进行IP 验证
showMessageDialog(null, info); // 用对话框输出验证结果
}
(2)编写IP 地址的mathches()方法,该方法利用正则表达式对输入的字符串进行验证,并
返回验证结果,关键代码如下所示。
public String matches(String text) {
if (text != null && !text.isEmpty()) {
// 定义正则表达式
String regex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
// 判断IP 地址是否与正则表达式匹配
if (text.matches(regex)) {
// 返回判断信息
return text + "\n 是一个合法的IP 地址!";
} else {
// 返回判断信息
return text + "\n 不是一个合法的IP 地址!";
}
}
// 返回判断信息
return "请输入要验证的IP 地址!";
}
【代码解析】
本实例的关键点在于IP 地址格式与数字范围的验证,用户在输入IP 地址时,程序可以获
取的只有字符串类型,所以本实例利用字符串的灵活性和正则表达式搭配进行IP 地址格式与
范围的验证。该方法是String 字符串类的方法,用于判断字符串与制定的正则表达式是否匹配。
其声明语法如下:
public boolean mathches(String regex);
Java 程序设计经典300 例
XXX
VIII
【知识扩展】
在正则表达式中,“.”代表任何一个字符,因此在正则表达式中如果想使用普通意义的点
字符“.”,必须使用转义字符“\”。


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • 如何应用 if 语句判断某一年是否为闰年?
    如何应用 if 语句判断某一年是否为闰年?
    地球绕太阳一圈称之为一年,所用时间是 365 天 5 小时 48 分 46 秒,取 365 天为一年,4 年将多出 23 小时 15 分 6 秒,将近一天,所以 4 年设一闰日(2 月 29 日),该年称为闰年。如何应用 if 语句判断某一年是否为闰年? 详情>>

    2015-10-22

  • 能正确编译“short s = 1;s = s + 1;”吗?
    能正确编译“short s = 1;s = s + 1;”吗?
    在进行程序设计时,经常需要进行一些算术运算,有的运算能够通过编译器编译,而有的运算则不能通过编译器编译。那么能正确编译“short s = 1;s = s +1;“吗? 详情>>

    2015-10-22

  • java语言中如何修改失败的 if…else 语句?
    java语言中如何修改失败的 if…else 语句?
    判断下列程序代码的运行结果,如何修改代码中的条件判断才能正确执行 if…else语句。 详情>>

    2015-10-22

  • java语言中可以用 switch 分支语句代替 if 条件语句吗?
    java语言中可以用 switch 分支语句代替 if 条件语句吗?
    通常情况下,switch 语句比一系列嵌套的 if 语句更有效,那么是否可以用 switch 分支语句代替 if 条件语句呢? 详情>>

    2015-10-22

  • Java开班时间

    收起