您的位置:首页 > 编程语言 > Java开发

java中正则表达式判断IP格式

2018-01-24 15:48 399 查看
java中,IP的格式判断是经常用到的,下面是经过测试可用的表达式。

判断IP格式的正则表达式:

"^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."+

"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+

"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+
"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$"

判断IP+端口号的正则表达式:

"^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."+

"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+

"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+

"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)"+

":([0-9]|[1-9]\\d{1,3}|[1-5]\\d{4}|6[0-5]{2}[0-3][0-5])$"
使用中要注意格式,上面提供的两个表达式中的"\\"均是转义后的"\"。

用正则表达式做IP格式判断的工具类

public class IsIpUtil {

    /**

     * 判断含端口号的IP地址是否合法

     * */

    public static boolean isIp(String text) {

        if (text != null && !text.isEmpty()) {

            // 定义正则表达式

            String regex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."+

            "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+

            "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+

            "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)"+

            ":([0-9]|[1-9]\\d{1,3}|[1-5]\\d{4}|6[0-5]{2}[0-3][0-5])$";

            // 判断ip地址是否与正则表达式匹配

            if (text.matches(regex)) {

                // 返回判断信息

                return true;

            } else {

                // 返回判断信息

                return false;

            }

        }

        return false;

    }

}

如果只判断不含端口号的IP,只需把regex替换掉即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: