• ip and port check 正则


    在网页开发中可能会遇到需要对在页面输入的ip和端口进行正确性验证,那么正则表达式就是最有力的工具:

    1:ip的正则表达式:

    格式是由“.”分割的四部分,每部分的范围是0-255;

    每段的正则可以分几部分来写:200—255;100-199;10-99;0-9;

    每一部分对应的正则表达式:   2[0-5][0-5];   1d{2};      [1-9]d;  d

    所以连起来就是d|[1-9]d|1d{2}|2[0-5][0-5]

    那么IP的正则就是(d|[1-9]d|1d{2}|2[0-5][0-5]).(d|[1-9]d|1d{2}|2[0-5][0-5]).(d|[1-9]d|1d{2}|2[0-5][0-5]).(d|[1-9]d|1d{2}|2[0-5][0-5])

    js中表示为:/^(d|[1-9]d|1d{2}|2[0-5][0-5]).(d|[1-9]d|1d{2}|2[0-5][0-5]).(d|[1-9]d|1d{2}|2[0-5][0-5]).(d|[1-9]d|1d{2}|2[0-5][0-5])$/

    2:端口的正则表达式:

    格式是0-65535,。

    同理可以分为几部分来构造:60000-65535;10000-59999;1000-9999;100-999;10-99;0-9;

    每部分的正则是:           6[0-5]{2}[0-3][0-5];       [1-5]d{4};      [1-9]d{3};     [1-9]d{2};[1-9]d; [0-9]

    整理完就是:([0-9]|[1-9]d{1,3}|[1-5]d{4}|6[0-5]{2}[0-3][0-5])

    JS中表示为:/^([0-9]|[1-9]d{1,3}|[1-5]d{4}|6[0-5]{2}[0-3][0-5])$/

    package com.xinwei.util;

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;

    public class CheckUtil {
        public static boolean checkIPAddress(String ipStr) {
            String regex = "([1-9]|[1-9][0-9]|1\d\d|2[0-4]\d|25[0-5])\."
                    + "([1-9]|[1-9][0-9]|1\d\d|2[0-4]\d|25[0-5])\."
                    + "([1-9]|[1-9][0-9]|1\d\d|2[0-4]\d|25[0-5])\."
                    + "([1-9]|[1-9][0-9]|1\d\d|2[0-4]\d|25[0-5])";
            Pattern pattern = Pattern.compile(regex);
            Matcher matcher = pattern.matcher(ipStr);

            if (matcher.matches()) {
    //            System.out.println("true");
                return true;
            } else {
    //            System.out.println("false");
                return false;
            }
        }
        
        public static boolean checkAddress(String addressStr) {
            String regex = "([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-5]{2}[0-3][0-5])";
            Pattern pattern = Pattern.compile(regex);
            Matcher matcher = pattern.matcher(addressStr);

            if (matcher.matches()) {
                System.out.println("true");
                return true;
            } else {
                System.out.println("false");
                return false;
            }
        }

        public static void main(String[] args) {
            // 10.221.105.225");//true
            // 127.400.600.2");//false
            CheckUtil.checkAddress("65536");
    //        CheckUtil.checkIPAddress("127.400.600.2");
        }
    }

  • 相关阅读:
    极大/小搜索,alpha/beta剪枝
    消息系统
    渲染主线程都在干什么
    好玩的虚拟CPU执行代码
    好玩的隐藏属性
    好玩的对象存储
    透视投影矩阵
    绕任意轴旋转
    视图变换
    正交投影矩阵
  • 原文地址:https://www.cnblogs.com/alamps/p/7066178.html
Copyright © 2020-2023  润新知