美文网首页
Android 判断一个字符串是否是ip地址

Android 判断一个字符串是否是ip地址

作者: GODANDDEVIL | 来源:发表于2020-02-28 16:18 被阅读0次
    /**
         * 判断一个字符串是否是一个合法的ip地址:
         *    1 首先检查字符串的长度 最短应该是0.0.0.0 7位 最长 000.000.000.000 15位
         *    2 按.符号进行拆分,拆分结果应该是4段
         *    3 检查每个字符串是不是都是数字
         */
         boolean isIP(String str){
            // 1、首先检查字符串的长度 最短应该是0.0.0.0 7位 最长 000.000.000.000 15位
            if(str.length()<7 || str.length() >15) return false;
            // 2、按.符号进行拆分,拆分结果应该是4段,"."、"|"、"^"等特殊字符必须用 \ 来进行转义
            // 而在java字符串中,\ 也是个已经被使用的特殊符号,也需要使用 \ 来转义
            String[] arr = str.split("\\.");
            if( arr.length != 4 )    return false;
            // 3、检查每个字符串是不是都是数字,ip地址每一段都是0-255的范围
            for(int i = 0 ; i <4 ; i++ ){
                if (!isNUM(arr[i]) || arr[i].length()==0 || Integer.parseInt(arr[i])>255 || Integer.parseInt(arr[i])<0){
                    return false;
                }
            }
            return true;
        }
    
        /**
         * 判断一个字符串是否是数字
         */
        boolean isNUM(String str){
            Pattern p = Pattern.compile("[0-9]*");
            Matcher m = p.matcher(str);
            return m.matches();
        }
    

    转载自:https://www.jianshu.com/p/52d52feaa105

    相关文章

      网友评论

          本文标题:Android 判断一个字符串是否是ip地址

          本文链接:https://www.haomeiwen.com/subject/nzplhhtx.html