java中如何判断数据是否为ip

王林
王林 原创
2019-11-21 15:03:34 2235浏览

知识点补充:

find()方法是部分匹配,是查找输入串中与模式匹配的子串,如果该匹配的串有组还可以使用group()函数。

matches()是全部匹配,是将整个输入串与模式匹配,如果要验证一个输入的数据是否为数字类型或其他类型,一般用matches()。

Pattern类的作用在于编译正则表达式后创建一个匹配模式。

Matcher类使用Pattern实例提供的模式信息对正则表达式进行匹配。

判断方法:

首先判断数据的长度是否符合ip长度,然后定义正则表达式,使用方法“compile”编译正则表达式并创建匹配模式,接着使用“matcher()”方法根据匹配模式进行匹配即可。

示例如下:

package com.you.dao;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IpAddress   
{
public static class IpAdd  
{
public boolean isIP(String addr)  
{
if(addr.length() < 7 || addr.length() > 15 || "".equals(addr))
{
return false;
}
/** 
             * 判断IP格式和范围 
             */  
String rexp = "([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}";
Pattern pat = Pattern.compile(rexp);
Matcher mat = pat.matcher(addr);
boolean ipAddress = mat.find();
return ipAddress;
}
}

推荐教程:java快速入门

以上就是java中如何判断数据是否为ip的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。