zoukankan      html  css  js  c++  java
  • 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;
            }
        }
    }
  • 相关阅读:
    request.getParameter() 、 request.getInputStream()和request.getReader() 使用体会
    HTTP之Content-Length
    关于spring3中No Session found for current thread!and Transaction的配置和管理(转)
    Java数据类型和MySql数据类型对应一览
    Spring MVC 解读——View,ViewResolver(转)
    LeetCode 441. Arranging Coins
    LeetCode 415. Add Strings
    LeetCode 400. Nth Digit
    LeetCode 367. Valid Perfect Square
    LeetCode 326. Power of Three
  • 原文地址:https://www.cnblogs.com/turningli/p/15792342.html
Copyright © 2011-2022 走看看