• java 判断一个字符串是否为ip地址


    转:https://zhuanlan.zhihu.com/p/168408787

    //判断字符是否是IP
    public boolean isCorrectIp(String ipString) {
            //1、判断是否是7-15位之间(0.0.0.0-255.255.255.255.255)
        if (ipString.length()<7||ipString.length()>15) {
            return false;
        }
        //2、判断是否能以小数点分成四段
        String[] ipArray = ipString.split("\\.");        
        if (ipArray.length != 4) {
            return false;
        }
        for (int i = 0; i < ipArray.length; i++) {
            //3、判断每段是否都是数字
            try {
                int number = Integer.parseInt(ipArray[i]);
                //4.判断每段数字是否都在0-255之间
                if (number <0||number>255) {
                        return false;
                }
            } catch (Exception e) {
                return false;
            }
        }        
        return true;
        }

    正则表达式判断法

    //利用正则表达式判断字符是否为IP
    public boolean isCorrectIp2(String ipString) {
        String ipRegex = "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}";    //IP地址的正则表达式
        //如果前三项判断都满足,就判断每段数字是否都位于0-255之间
        if (ipString.matches(ipRegex)) {
            String[] ipArray = ipString.split("\\.");
            for (int i = 0; i < ipArray.length; i++) {
                int number = Integer.parseInt(ipArray[i]);
                //4.判断每段数字是否都在0-255之间
                if (number <0||number>255) {
                    return false;
                }
            }
            return true;
        }
        else {
            return false;    //如果与正则表达式不匹配,则返回false
        }    
    }
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    /** 
     * @类名:IpAddress 
     * @描述:用正则表达式判断是否为IP 
     * @Author:Administrator 
     * @date: 2014年3月4日 下午10:55:06 
     */
    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;
            }
        }
    }
  • 相关阅读:
    js截取字符串区分汉字字母代码
    List 去处自定义重复对象方法
    63. Unique Paths II
    62. Unique Paths
    388. Longest Absolute File Path
    41. First Missing Positive
    140. Word Break II
    139. Word Break
    239. Sliding Window Maximum
    5. Longest Palindromic Substring
  • 原文地址:https://www.cnblogs.com/turningli/p/15792342.html
Copyright © 2020-2023  润新知