zoukankan      html  css  js  c++  java
  • 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");
        }
    }

  • 相关阅读:
    常用正则表达式
    在过滤器中设置一个应用范围内的路径
    在过滤器中设置一个应用范围内的路径
    shell編程之遠程開啓多個機器的ElasticSearch
    shell之CMD的使用,是用` `還是" "?
    shell編程之自動化集群搭建並啓動
    shell編程之權限
    登录用户出现‘’-bash-4.2$‘’的问题解决
    locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory
    Spring之mvc應用(包含aop)
  • 原文地址:https://www.cnblogs.com/alamps/p/7066178.html
Copyright © 2011-2022 走看看