本文实例讲述了Java正则验证IP的方法。分享给大家供大家参考,具体如下:

网上用正则验证IP的表达式有很多,一搜一大堆,可以自己写,但很麻烦又费事,用别人写的难免有bug。
找了几个测试一下,不是有bug,就是连正确的IP也不认识了,好多还信誓旦旦,仿佛自己做过测试似的。
今天找到一个比较行的通的表达式,不过也有一个小的Bug(用*号时,不报错)
package des;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IP {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
IP p=new IP();
String ii="127.0.0.1";
String ii2="127.0.0.";
String ii3="127.0.0.1000";
String ii4="256.0.0.1";
String ii5="127.0.0.gg";
String ii6="127.h.0.1";
String ii7="127.555.0.1";
String ii8="127.00.0.1";
String ii9="127.0.04.1";
String ii10="127.100.#.1";
String ii11="127.*.0.1";
String ii12="127.0.0.000";
String ii13="192.168.3.12";
System.out.println("来自 www. 的测试结果:");
p.isMatches(ii);
p.isMatches(ii2);
p.isMatches(ii3);
p.isMatches(ii4);
p.isMatches(ii5);
p.isMatches(ii6);
p.isMatches(ii7);
p.isMatches(ii8);
p.isMatches(ii9);
p.isMatches(ii10);
p.isMatches(ii11);
p.isMatches(ii12);
p.isMatches(ii13);
}
public boolean isMatches(String ip){
boolean flag=false;
try{
// String regex="[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+";
String regex="^((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]|[*])\\.){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]|[*])$";
//正确的是
//String regex="^((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]|[*])$";
// String regex="\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\b";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(ip);
if(m.find()){
System.out.println("successss");
return true;
}else{
System.out.println("falsss");
}
}catch(Exception e){
e.printStackTrace();
}
return flag;
}
}
运行结果如下图:
可见倒数第3个带有*的是错的,但还是输出成功了
将正则改成:
String regex="^((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]|[*])$";
测试结果如下:
至此完全正确!
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools./regex/javascript
正则表达式在线生成工具:
http://tools./regex/create_reg
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
# Java
# 正则验证
# IP
# Java正则验证正整数的方法分析【测试可用】
# Java正则验证电话
# 手机
# 邮箱
# 日期
# 金额的方法示例
# java基于正则提取字符串中的数字功能【如提取短信中的验证码】
# 正则验证不能含有中文的实现方法【jQuery与java实现】
# Java常用正则表达式验证工具类RegexUtils.java
# Java使用正则表达式对注册页面进行验证功能实现
# java正则表达式验证工具类
# java正则表达式表单验证类工具类(验证邮箱、手机号码、qq号码等)
# java正则表达式验证邮箱、电话号码示例
# java正则表达式验证函数
# 的是
# 正则表达式
# 操作技巧
# 几个
# 也不
# 也有
# 相关内容
# 是有
# 有很多
# 感兴趣
# 数据结构
# 给大家
# 做过
# 找了
# 报错
# 信誓旦旦
# 更多关于
# 所述
# 程序设计
# 如下图
相关文章:
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
Swift中循环语句中的转移语句 break 和 continue
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
零服务器AI建站解决方案:快速部署与云端平台低成本实践
建站之星微信建站一键生成小程序+多端营销系统
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
如何快速生成ASP一键建站模板并优化安全性?
建站之星如何实现网站加密操作?
建站之星免费版是否永久可用?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
如何用AWS免费套餐快速搭建高效网站?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
如何在IIS中新建站点并配置端口与IP地址?
简历在线制作网站免费,免费下载个人简历的网站是哪些?
代刷网站制作软件,别人代刷火车票靠谱吗?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
C#如何序列化对象为XML XmlSerializer用法
如何通过西部数码建站助手快速创建专业网站?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
制作宣传网站的软件,小红书可以宣传网站吗?
,石家庄四十八中学官网?
建站ABC备案流程中有哪些关键注意事项?
如何快速生成可下载的建站源码工具?
如何在服务器上配置二级域名建站?
建站主机助手选型指南:2025年热门推荐与高效部署技巧
建站之星后台密码遗忘?如何快速找回?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
设计网站制作公司有哪些,制作网页教程?
如何快速搭建高效服务器建站系统?
如何在IIS管理器中快速创建并配置网站?
建站之星云端配置指南:模板选择与SEO优化一键生成
javascript中的try catch异常捕获机制用法分析
如何获取免费开源的自助建站系统源码?
建站之星如何防范黑客攻击与数据泄露?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
,有什么在线背英语单词效率比较高的网站?
建站之家VIP精选网站模板与SEO优化教程整合指南
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
如何做网站制作流程,*游戏网站怎么搭建?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
如何在阿里云服务器自主搭建网站?
上海网站制作开发公司,上海买房比较好的网站有哪些?
宝塔建站后网页无法访问如何解决?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
ppt制作免费网站有哪些,ppt模板免费下载网站?
建站之星Pro快速搭建教程:模板选择与功能配置指南
*请认真填写需求信息,我们会在24小时内与您取得联系。