怎样用正则来验证IPV4的地址功能

这次给大家带来怎样用正则来验证IPV4的地址功能,用正则来验证IPV4地址功能的注意事项有哪些,下面就是实战案例,一起来看一下。

本文实例讲述了正则表达式验证IPV4地址功能。分享给大家供大家参考,具体如下:

IPV4地址由4个组数字组成,每组数字之间以.分隔,每组数字的取值范围是0-255。

IPV4必须满足以下四条规则:

1、任何一个1位或2位数字,即0-99;
2、任何一个以1开头的3位数字,即100-199;
3、任何一个以2开头、第2位数字是0-4之间的3位数字,即200-249;
4、任何一个以25开头,第3位数字在0-5之间的3位数字,即250-255。

这样把规则全部罗列出来之后,构造一个正则表达式的思路就清晰了。

首先满足第一条规则的正则是:d{1,2}
首先满足第二条规则的正则是:1d{2}
首先满足第三条规则的正则是:2[0-4]d
首先满足第四条规则的正则是:25[0-5]

把它们组合起来,就得到一个匹配0-255数字的正则表达式了:

(d{1,2})|(1d{2})|(2[0-4]d)|( 25[0-5])

IPV4由四组这样的数字组成,中间由.隔开,或者说由三组数字和字符.和一组数字组成,所以匹配IPV4的正则表达式如下:

(((d{1,2})|(1d{2})|(2[0-4]d)|(25[0-5])).){3}((d{1,2})|(1d{2})|(2[0-4]d)|(25[0-5]))

Java测试代码如下:

public static void matchAndPrint(String regex, String sourceText){  Pattern pattern = Pattern.compile(regex);  Matcher matcher = pattern.matcher(sourceText);  while(matcher.find()){    System.out.println(matcher.group());  }}public static void main(String[] args) {  String regex = "^(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))$";  matchAndPrint(regex, "23.135.2.255");  matchAndPrint(regex, "255.255.0.256");  matchAndPrint(regex, "0.0.0.0");}

登录后复制

输出结果如下:

23.135.2.255
0.0.0.0

这个正则有一个缺陷,就是如果不使用边界匹配的话,像第二个测试IP 255.255.0.256也会被匹配到,匹配到的结果是255.255.0.25。可以添加限制条件,前后要么是边界,要么是非数字,并且使用前后查找(lookaround),前后查找将在后面介绍。即:

(?

String regex = “(?

这样即可解决这个问题。

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

用php与js实现正则匹配数字和字母组合的密码

在JQ中正则验证不能含有中文的方法

以上就是怎样用正则来验证IPV4的地址功能的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2777821.html

(0)
上一篇 2025年3月8日 15:14:19
下一篇 2025年3月2日 10:12:16

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 正则的数字验证详解(附代码)

    这次给大家带来,的注意事项有哪些,下面就是实战案例,一起来看一下。 第一部分:数值验证 1.验证只包含数字、指定长度(N)的字符串 比如我要验证只包含数字,长度为6的字符串,如123456,则可以使用下面几种效果相同的验证方式 d{6}[0…

    2025年3月8日 编程技术
    200
  • ajax怎么实现实时验证功能

    这次给大家带来ajax怎么实现实时验证功能,ajax实现实时验证功能的注意事项有哪些,下面就是实战案例,一起来看一下。 什么是ajax Ajax 即“Asynchronous Javascript And XML”(异步 JavaScrip…

    编程技术 2025年3月8日
    200
  • ajax怎么实现验证码

    这次给大家带来ajax怎么实现验证码,ajax实现验证码的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例为大家分享了ajax实现验证码功能的具体代码,供大家参考,具体内容如下 首先创建一个验证码: <%! //获取随机颜色…

    2025年3月8日
    200
  • js实现获取短信验证码实例

    本文主要和大家分享js实现获取短信验证码实例,主要以代码的形式和大家分享,希望能帮助到大家。 $(“.form-data”).delegate(“.send”,”click”,function () {         var phone …

    编程技术 2025年3月8日
    200
  • jQuery+Ajax判断输入的验证码是否通过

    这次给大家带来jQuery+Ajax判断输入的验证码是否通过,jQuery+Ajax判断输入验证码是否通过的注意事项有哪些,下面就是实战案例,一起来看一下。 废话不多说了,直接给大家贴代码了,具体代码如下所示: $(document).re…

    2025年3月8日
    200
  • Vue项目中如何引入腾讯验证码功能

    这次给大家带来Vue项目中如何引入腾讯验证码功能,Vue项目中引入腾讯验证码功能的注意事项有哪些,下面就是实战案例,一起来看一下。 什么是腾讯验证码?它长这个样子……:point_down:   最近公司项目要求引入腾讯云验证,要求是这样的…

    2025年3月8日 编程技术
    200
  • JS提示文本框邮箱地址补全

    这次给大家带来JS提示文本框邮箱地址补全,JS提示文本框邮箱地址补全的注意事项有哪些,下面就是实战案例,一起来看一下。 现在要实现的是类似网易登录时的邮箱提示框的效果,不过这里我打算稍微改变一下,就是在输入@的时候再出现邮箱提示列表 实现提…

    编程技术 2025年3月8日
    200
  • ajax实现简单实时验证功能

    这次给大家带来ajax应该怎样实现实时验证,ajax实现实时验证的注意事项有哪些,下面就是实战案例,一起来看一下。 什么是ajax Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript …

    编程技术 2025年3月8日
    200
  • Angular验证功能实现步奏

    这次给大家带来Angular验证功能实现步奏,Angular验证功能实现的注意事项有哪些,下面就是实战案例,一起来看一下。 完整实例代码如下: angular验证功能 input{ display: block; } ul li{ colo…

    编程技术 2025年3月8日
    200
  • AngularJs用户登录时交互及验证步奏详解

    这次给大家带来AngularJs用户登录时交互及验证步奏详解,AngularJs用户登录时交互及验证的注意事项有哪些,下面就是实战案例,一起来看一下。 1. 静态页面搭建及ng的form表单验证实现: 登录 登录后复制 2. 定义用户登录的…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论