`
lushuaiyin
  • 浏览: 677090 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

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

输出

successss
falsss
falsss
falsss
falsss
falsss
falsss
falsss
falsss
falsss
successss
falsss
successss

倒数第3个是错的,但还是输出成功了

分享到:
评论

相关推荐

    Java正则验证IP的方法实例分析【测试可用】

    主要介绍了Java正则验证IP的方法,结合实例形式对比分析了网上常见的几种针对IP的正则验证方法,最终给出了一个比较靠谱的IP正则验证表达式,需要的朋友可以参考下

    java正则表达式验证IP地址

    java正则表达式验证IP地址

    java正则表达式验证

    java正则表达式验证,包含:验证邮箱、验证IP地址、验证网址Ur、l验证电话号码、验证输入密码条件(字符与数据同时出现)、验证输入密码长度 (6-18位)、验证输入邮政编号等

    java中用正则表达式检测IP地址是否合理

    平时我们会经常遇到对IP地址的检测,检验IP地址是否合理。当然你可以通过其他程序代码去实现,这里用正则表达式去实现更为简单。

    java正则表达式实例(邮箱,车牌,密码,url,IP,身份证,车牌等等)

    正则表达式 实例

    IP 正则表达式验证

    javascript 手机号码正则表达式验证函数JS正则表达式验证数字代码JavaScript正则表达式验证身份证号码是否合法(两种方法)...java正则表达式验证邮箱、电话号码示例jquery使用正则表达式验证email地址的方法利用js正则

    java 正则表达式

    JAVA正则表达式语法(转)正则表达式语法正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式示例表达式 ...

    通过正则表达式验证IP和端口格式的正确性

    主要介绍了正则表达式验证IP和端口格式的正确性,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    正则表达式验证大全

    正则表达式验证大全,如IP,身份证,字符,网址等的验证

    Java常用正则表达式验证类完整实例【邮箱、URL、IP、电话、身份证等】

    主要介绍了Java常用正则表达式验证类,结合完整实例形式分析了Java针对邮箱、网址URL、IP地址、电话、身份证等正则验证相关操作技巧,需要的朋友可以参考下

    JavaScript与Java正则表达式写法的区别介绍

    Js验证写法:(转义符\) var str = "待验证文本"; var regular = new RegExp(/这里是正则表达式/); if (regular.test(str)) { console.log("符合条件");...Java验证写法:(转义符\\) String str = "待验证

    RegexUtils表单注册常用正则表达式验证工具类

    RegexUtils,Java 表单注册常用正则表达式验证工具类,常用正则表达式大集合。 1. 电话号码 2. 邮编 3. QQ 4. E-mail 5. 手机号码 6. URL 7. 是否为数字 8. 是否为中文 9. 身份证 10. 域名 11. IP

    Java-PHP正则表达式的使用

    匹配中文字符的正则表达式: [u4e00-u9fa5]  评注:匹配中文还真是个头疼的事,有了这个表达式就好办了  匹配双字节字符(包括汉字在内):[^x00-xff]  评注:可以用来计算字符串的长度(一个双字节字符长度计2...

    验证手机号等正则表达式

    验证邮箱, 验证IP地址,验证网址Url,验证电话号码,验证输入邮政编号,验证输入身份证号,验证日期时间

    javascript IP、域名、手机号码正则表达式验证代码

    这个手机号码正则验证函数可以说是最新的都支持的,里面有详细的介绍说明,不论以后增加什么号段大家都非常容易的稍微修改一下即可。javascript 手机号码正则表达式验证函数 代码如下://ip与域名验证函数 function ...

    Android-RegEx-Util:此类提供日常开发中常用的正则验证函数

    此类提供日常开发中常用的正则验证函数,比如:邮箱、手机号、电话号码、身份证号码、日期、数字、小数、URL、IP地址等。使用Pattern对象的matches方法进行整个字符匹配,调用该方法相当于: Pattern p = Pattern....

    正则表达式验证IPV4地址功能实例分析

    本文实例讲述了正则表达式验证IPV4地址功能。分享给大家供大家参考,具体如下: IPV4地址由4个组数字组成,每组数字之间以.分隔,每组数字的取值范围是0-255。 IPV4必须满足以下四条规则: 1、任何一个1位或2位数字...

    所有常用的正则表达式

    配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII...

    如何用javascript正则表达式验证身份证号码是否合法

    在用户注册页面有些需求要求的比较严格,需要对身份证验证是否合法,通过此功能严格此系统软件,从而过滤到很多水客。下面就此实现方法给大家讲解下。  很多时候我们都是通过一组正则表达式来判断用户输入的身份证...

    精通正则表达式~~~

    Java的正则流派... 366 Java对\p{…}和\P{…}的支持... 369 Unicode行终结符... 370 使用java.util.regex. 371 The Pattern.compile() Factory. 372 Pattern的matcher方法... 373 Matcher对象... 373 应用...

Global site tag (gtag.js) - Google Analytics