java判断IP地址是否合法

懒驴 2022年05月06日 1,838次浏览

这里使用正则表达式来判断一个IP地址的合法性,代码如下:

/***
 * IP地址校验工具类
 */
public class IPTools {

    /***
     * 检验IP地址是否合法
     * @param text
     * @return  true表示合法,false表示不合法
     */
    public static boolean checkIP(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)$";
            //判断ip地址是否与正则表达式匹配
            if(text.matches(regex)) {
                //返回判断信息
                //return text + "\n是一个合法的IP地址!";
                return true;
            } else {
                //返回判断信息
                //return text + "\n不是一个合法的IP地址!";
                return false;
            }
        }
        return false;
    }

    public static void main(String[] args) {
        System.out.println(IPTools.checkIP("192.168.1.136"));
    }

}