176Java8判断字符串是不是符合IPv4格式

Posted zhangchao19890805

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了176Java8判断字符串是不是符合IPv4格式相关的知识,希望对你有一定的参考价值。

某些场景下,软件系统需要用户手动输入IPv4地址。这个时候我们就需要程序判断用户输入的字符串是否符合IPv4的格式。我编写了一个工具类来完成判断的功能。

IpUtils.java


/**
 * IP工具类
 *
 * @author zhangchao
 */
public class IpUtils

    /**
     * 检测输入的字符串是不是符合IP格式。
     * @param ip  形式如 192.168.1.23 的IP字符串。
     * @author zhangchao
     * @return  true是符合IP格式,false不符合IP格式。
     */
    public static boolean isIpStyle(String ip) 
        if (null == ip || ip.length() > 15 || !ip.contains(".")) 
            return false;
        
        // 存放由 . 分隔开的每个部分。
        String[] ipArr = ip.split("\\\\.");
        if (ipArr.length != 4) 
            return false;
        

        for (String item : ipArr) 
            if (null == item || 0 == item.length()) 
                return false;
            
            if (item.length() > 1 && item.startsWith("0")) 
                return false;
            
            if (item.length() >= 4) 
                return false;
            
            char[] charArr = item.toCharArray();
            for (char c : charArr) 
                if (c < '0' || c > '9') 
                    return false;
                
            
            int itemInt = Integer.parseInt(item);
            if (itemInt < 0 || itemInt > 255) 
                return false;
            
        
        return true;
    


以上是关于176Java8判断字符串是不是符合IPv4格式的主要内容,如果未能解决你的问题,请参考以下文章

176Java8判断字符串是不是符合IPv4格式

java用正则表达式判断程序接收的字符串是不是符合手机号的格式,在下面修改

js判断是不是为日期

正则短例

c++判断ip地址是不是合法

Java判断字符串是否符合yyyyMMdd日期格式