【实例描述】
IP 地址是网络上每台计算机的标识,在浏览器中输入的网址也是要经过DNS 服务器转换
为IP
地址才能找到服务器的,在很多网络程序中要求输入服务器IP 地址或者对方连接的IP 地
址,IP 地址的错误输入将使程序无法运行。本实例将实现对IP
地址的验证功能,实例的运行
效果如图4.14 所示。
【实现过程】
(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
【知识扩展】
在正则表达式中,“.”代表任何一个字符,因此在正则表达式中如果想使用普通意义的点
字符“.”,必须使用转义字符“\”。