IP地址通常是类似:10.221.105.225的格式,不能以0开头,每个字段最大不超过255,不小于0;
思路:
- 字段只有1位时:只能是1-9中的一个数字;
- 字段有2位时:开头不能是0,所以开头数字是1-9,而个位数字可以是0-9;
- 字段3位时:
- 百位是1:十位和个位没有要求;
- 百位是2:十分位只能是 0-4,个位无要求;如果百位、十位分别是2、5,则个位只能是0-5,前三位要记得后面加一个.
简单实现:
public class IpCheck {
public static void main(String[] args){
System.out.print(ipCheck("1.2333.33.1"));
}
public static boolean ipCheck(String ip){
boolean result = false;
if (ip != null || !ip.isEmpty() | ip.length()<16){
// 定义正则表达式
String regex = "([1-9]|[1-9][0-9]|1\\d\\d|2[0-4]\\d|25[0-5])\\." +
"([1-9]|[1-9][0-9]|1\\d\\d|2[0-4]\\d|25[0-5])\\." +
"([1-9]|[1-9][0-9]|1\\d\\d|2[0-4]\\d|25[0-5])\\." +
"([1-9]|[1-9][0-9]|1\\d\\d|2[0-4]\\d|25[0-5])";
result = Pattern.matches(regex,ip);
}
return result;
}
}