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

  • 相关阅读:
    基于android混合开发的JsBridge技术学习
    使用centos引导内核错误:kernel: pnp 00:0b: can't evaluate _CRS: 8
    mysql的错误:The server quit without updating PID file /usr/local/mysql/data/door.pid).
    关于新的man版本出现“无法解析 /usr/share/man/zh_CN/man1/ls.1.gz: 没有那个文件或目录“
    使用struts2标签<s:action无法显示引用页面问题
    cookie 跨域的问题
    mysql8.0 在window环境下的部署与配置
    webconfig的配置解析
    C#.net 创建XML
    HashMap和HashTable的区别
  • 原文地址:https://www.cnblogs.com/alamps/p/7066178.html
Copyright © 2011-2022 走看看