代码之家  ›  专栏  ›  技术社区  ›  Zombies

仅用于IPv4可路由地址的正则表达式

  •  1
  • Zombies  · 技术社区  · 15 年前

    3 回复  |  直到 15 年前
        1
  •  3
  •   Anon.    15 年前

    只需解析IP地址,并在代码中检查它是否满足您的条件。

        2
  •  1
  •   Anubioz    8 年前

    试试这个:

    ^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(?<!172\.(16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31))(?<!127)(?<!^10)(?<!^0)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(?<!192\.168)(?<!172\.(16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31))\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(?<!\.0$)(?<!\.255$)$
    

    不匹配 此IP无效:

    999.999.999.999.
    108.0.0.01
    0.1.2.3
    00.0000.00.00
    192.168.1.1
    912.456.123.123
    .3.3.3.0
    3.2.2.0
    192.168.0.0
    18.16.0.0
    

    信息技术 不匹配 本地IP:

    172.16.0.9
    172.16.4.1
    172.17.1.1
    127.0.0.2
    10.0.1.5
    10.0.0.1
    10.155.155.155
    10.255.255.254
    172.16.0.4
    172.16.0.1
    172.17.1.1
    172.31.254.254
    

    最后它 不匹配 广播IP:

    60.123.247.255
    196.168.255.255
    10.255.255.255
    192.168.255.255
    

    到目前为止,我测试的所有其他IP都是匹配的,但是我还没有完全完成,所以可能会有一些错误。

        3
  •  0
  •   Andrew McGregor    15 年前