IPv4 和 IPv6 正则表达式

Pv4 地址例如,”192.168.0.2“,为 . 分割的4段数字,数字范围为 0 - 255,而我们的正则表达式需要匹配的就是 0 - 255,首先我们对这一区间进行拆分:

1. 0 - 9 只有一位数字,正则表达式:\d;

2. 10 - 99 二位数,十位数1 - 9,个位数 0 - 9,正则表达式:[1-9]\d;

3. 100 - 199,百位数 1,十位数个位数均为 0 - 9,正则表达式:1\d\d;

4. 200 - 249,百位数 2,十位数 0 - 4,个位数 0 - 9,正则表达式:2[0-4]\d;

5. 250 - 255,百位数 2,十位数5,个位数 0 - 5,正则表达式:25[0-5]

步骤4、5可以进行一次整合:2([0-4]\d|5[0-5])(200 - 255)。

综上在结合 . 这个连接符,在IP最后手动填上一个 . 就可以重复4次,最后的正则表达式为:

var ipv4 = /^()(\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))\.){4}$/;
return ipv4.test(IP + ".");

IPv6 正则规则

  IPv6 地址例如,”2001:0db8:85a3:0000:0000:8a2e:0370:7334“,为 : 分割的8段数字,每段数字最多4位,最少1位,每位可由 0-9数字、a-f 小写字母、A-F 大写字母组成,与 IPv4 一样为了简略正则表达式,在IP后手动填上一个 :。

var ipv6 = /^(([\da-fA-F]{1,4}):){8}$/
return ipv6.test(IP + ":");

原题来自 leetcode 第468题(Validate IP Address),题意为设计一个函数检测 IP 是 IPv4 还是 IPv6。

/*** @param {string} IP* @return {string}*/
var validIPAddress = function(IP) {var ipv4 = /^((\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))\.){4}$/;var ipv6 = /^(([\da-fA-F]{1,4}):){8}$/return ipv4.test(IP + ".") ? "IPv4" : ipv6.test(IP + ":") ? "IPv6" : "Neither";
};


IPv4 和 IPv6 正则表达式相关推荐

  1. IPV4及IPV6正则表达式详解

    IPV4及IPV6正则表达式详解 一. 背景 二.实际应用情况 2.1 IPv4 2.1.1 IPv4说明 2.1.2 IPv4地址解析 2.1.3 IPv4正则表达式 2.2 IPv6 2.2.1 ...

  2. java ipv6正则表达式_IPV4和IPV6正则表达式的深入讲解

    IPV4正则表达式 Ipv4地址分为ABCDE五大类,其中ABC类是普通ip地址,D类是组播地址,E类保留,作为研究之用. 范围分别为: A: 1.0.0.1 ―一126.155.255.255 内网 ...

  3. 正则匹配ipv4_IPV4和IPV6正则表达式的深入讲解

    IPV4和IPV6正则表达式的深入讲解,地址,写法,正则,字段,第一个 IPV4和IPV6正则表达式的深入讲解 易采站长站,站长之家为您整理了IPV4和IPV6正则表达式的深入讲解的相关内容. IPV ...

  4. ipv6正则表达式 java,用正则表达式解析IPv4跟IPv6地址字符串

    用正则表达式解析IPv4和IPv6地址字符串 以下是经过我的.net C# 代码百般测试的,绝对经得住考验! IPv4[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9] ...

  5. java ipv6校验_JS及java验证 IPV6,IPV4地址的 正则表达式 | 学步园

    JS 验证: ipv4地址验证: function queryDev(ip){ var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2 ...

  6. JS及java验证 IPV6,IPV4地址的 正则表达式

    JS 验证: ipv4地址验证: function queryDev(ip){ var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2 ...

  7. ipv4、ipv6格式校验代码

    ipv4.ipv6格式校验代码 一.题目 IPv4 地址格式: IPv4地址由4组十进制数组成,每组范围为 0 - 255,用"."分割. 注意:IPv4 地址内的数不能以 0 开 ...

  8. 干货 | IPv6正则表达式攻略

    点击上方"中兴开发者社区",关注我们 每天读一篇一线开发者原创好文 [摘要] 多个市场要求无线4G网管全面支持IPv6,在开发过程中,遇到大量需要做IPv6校验的地方,本文通过正则 ...

  9. 记录一次nginx升级,支持ipv4和ipv6访问https

    项目要求,需要让现有网站项目支持https,并同时支持ipv6访问,经过分析,现在nginx版本较老,所以决定升级nignx,并且同步配置https和ipv6. 升级准备 服务器网络环境需要支持ipv ...

最新文章

  1. Stella Forum v2 线上版开发总结
  2. MXNet半精度(FP16)
  3. JavaScript实现Knapsack problem背包问题算法(附完整源码)
  4. Qt移动应用开发(八):实现跨平台的QML和OpenGL混合渲染
  5. 使用Docker制作zentao禅道镜像
  6. Git笔记(14) 分支开发工作流
  7. Python之爬虫(七)正则的基本使用
  8. BZOJ 1878 hh的项链(简单莫队)
  9. 2015年6月24日日报
  10. 绘图神器 —— Graphviz dot 语言介绍
  11. [转载] Python 从字符串匹配相同元素的所有下标位置(两种办法解析)
  12. 【React】react-redux 案例
  13. 携程机票业务数据仓库实践
  14. 用指纹解锁数据!云盒子企业网盘,新增指纹认证功能
  15. 支付宝"手机网站支付"主域名申请了,二级域名还要申请吗
  16. iframe 嵌入html页面,iframe 完美嵌入网页
  17. showdown让你的网站支持Markdown和代码块highlight
  18. 字节跳动后台开发实习面试回顾
  19. 用友t3服务器不稳定怎么处理,用友T3常见问题解决方法
  20. java--吸血鬼数的判断

热门文章

  1. serverlet 返回json
  2. QT QMap QMultiMap使用说明
  3. 嵌入式软件开发工程师与FPGA开发工程师
  4. td lte pss同步matlab仿真,TD-LTE系统小区搜索PSS定时同步的研究
  5. 大专学历计算机专业可以积分,深圳积分入户初级计算机证书,居然也能积这么多分!...
  6. mysql之my.conf详解
  7. c语言字符二维数组传参,C语言函数传递二维数组
  8. windows使用scoop安装gcc报404错误的解决方法
  9. 【论文复现】ReLU Activation(2011)
  10. 强大的XCOPY命令