字符串—判断IP地址的合法性(Java)

 

IP地址通常是类似:10.221.105.225的格式,不能以0开头,每个字段最大不超过255,不小于0;

思路:

  1. 字段只有1位时:只能是1-9中的一个数字;
  2. 字段有2位时:开头不能是0,所以开头数字是1-9,而个位数字可以是0-9;
  3. 字段3位时:
    1. 百位是1:十位和个位没有要求;
    2. 百位是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;
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值