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");
        }
    }

  • 相关阅读:
    Java异常处理和设计
    一次qps测试实践
    Alternate Task UVA
    Just Another Problem UVA
    Lattice Point or Not UVA
    Play with Floor and Ceil UVA
    Exploring Pyramids UVALive
    Cheerleaders UVA
    Triangle Counting UVA
    Square Numbers UVA
  • 原文地址:https://www.cnblogs.com/alamps/p/7066178.html
Copyright © 2011-2022 走看看