• 技术文章 >Java >Java入门

    java如何判断字符串是否是IP地址

    王林王林2020-08-06 16:07:37转载2574

    要实现该算法我们首先应该知道,IP地址应该依据哪些条件:

    (推荐教程:java入门教程

    判断原则:

    只有以上四个条件都满足了,才是IP的正确格式。

    实现该算法有两种比较简单的方法,一种是常规判断,另一种是利用正则表达式进行判断,下面以函数的形式实现这两种方法,可以直接复制函数使用,传入的参数是待判断的字符串,返回的是布尔变量。

    (视频教程推荐:java视频教程

    常规方法判断

    //判断字符是否是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
    	}	
    }

    测试结果:

    bbd7904c3825aa59c88bbfdaf275018.png

    以上就是java如何判断字符串是否是IP地址的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除
    专题推荐:java 字符串 ip地址
    上一篇:ArrayList、LinkedList与Vector三者有什么区别 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • java中泛型有什么作用• java修饰符知识点汇总• 什么是java注解• java实现快速排序(代码实例)
    1/1

    PHP中文网