IP校验 不能以0、127及224-255开头;是正确的IP
public class IpReg {
public static void main(String[] args) {
String s = "225.255.255.255";
boolean b = false;
//只要捕获到了异常,说明Ip是非法的,根据需要处理异常
try {
b = validateIP(s);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("验证结果为 :"+b);
}
public static boolean validateIP(String ip){
boolean b = false;
String[] ips = ip.split("\\.");
if(ips.length!=4){
throw new IllegalArgumentException("Illegal IP ["+ip+"]");
}
//对第一组进行验证
String[] ips1 = ips[0].split("");
if(ips1.length>4){
throw new IllegalArgumentException("Illegal IP ["+ip+"],String ["+ips[0]+"] given that length must less than 4");
}
int fip = 0;
try {
fip = Integer.parseInt(ips[0]);
} catch (NumberFormatException e) {
throw new IllegalArgumentException("Illegal IP ["+ip+"],param ["+ips[0]+"] given must be type of number!");
}
//如果没有抛出异常,则全部是数字,进行判断是否合法
if(fip<0 | fip == 0 | fip == 127){
throw new IllegalArgumentException("Illegal IP ["+ip+"], can not begin with "+fip);
}else{
b = true;
for(int i=224;i<=255;i++){
if(fip==i){
throw new IllegalArgumentException("Illegal IP ["+ip+"], can not begin with "+fip);
}
}
}
//对剩下的三组进行验证
boolean b2 = validate(ips[1]);
boolean b3 = validate(ips[2]);
boolean b4 = validate(ips[3]);
return b&b2&b3&b4;
}
private static boolean validate(String subip){
String[] ips = subip.split("");
if(ips.length>4){
throw new IllegalArgumentException("Illegal IP ["+subip+"],String ["+subip+"] given that length must less than 4");
}
Integer ip = null;
try {
ip = Integer.parseInt(subip);
} catch (NumberFormatException e) {
throw new IllegalArgumentException("Illegal IP ["+subip+"],param ["+ips[0]+"] given must be type of number!");
}
//如果没有抛出异常,则全部是数字,进行判断是否合法
if(ip<=255 && ip>-1){
return true;
}else{
throw new IllegalArgumentException("Illegal IP ["+subip+"],param ["+subip+"] given that must less than 256 and great than -1");
}
}
}
由于对正则表达式不熟悉,以及时间原因,所以上面这是比较笨的方法,解决问题还是得自己细心,用心,精心,好多问题真的是只要自己稍微花点时间用下心,用点时间,用点力就可以解决得了!下面是正则表达式:
String str_pattern = "^(((?!127)([1-9]|[1-9]\\d|1\\d\\d|2[0-1]\\d|22[0-3]))\\.)(([0-9]|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.){2}([0-9]|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])$";
Pattern pattern = Pattern.compile(str_pattern);
String ip ="127.127.127.245";
Matcher m = pattern.matcher(ip);
boolean b = m.find();
if(b){
System.out.println(m.group());
}else{
System.out.println(b);
}
分享到:
相关推荐
中文名: TCP.IP路由技术[第二卷](CCIE职业发展系列) 原名: Routing TCP.IP,Volume 2 作者: Jeff Doyle译者: 毕立波资源格式: PDF 版本: 扫描版 出版社: 人民邮电出版社书号: 9787115100962发行时间: 2002年 地区: ...
验证IP地址是否正确 验证URL地址是否正确 验证是否是正整数 验证是否是小数 验证是否银行卡号 验证身份证号码是否正确 判断是否为用户名账号(规则如下:用户名由下划线或字母开头,由数字、字母、下划线、点、减号...
芯片设计的特殊考虑 芯片制造商和工艺的选择 设计的层次化 时序闭合性设计 可调试性设计 可测性设计 可验证性设计 低功耗设计 封装和引脚 制定构架(或功能)规范 制定功能验证计划 功能验证的基本概念和方法 随机...
RFC2330 IP 执行规则的管理 RFC2343 应用于捆绑的MPEG的RTP有效载荷的格式 RFC2344 移动IP反向隧道 RFC2349 TFTP 休息间隔和传输大小选项 RFC2367 PF_KEY键管理 API,版本 2 RFC2372 处理Internet协议(TIP)-要求...
RFC2330 IP 执行规则的管理 RFC2343 应用于捆绑的MPEG的RTP有效载荷的格式 RFC2344 移动IP反向隧道 RFC2367 PF_KEY键管理 API,版本 2 RFC2372 处理Internet协议(TIP)-要求和补充信息 RFC2373 IPv6寻址体系结构 RFC...
RFC2330 IP 执行规则的管理 RFC2343 应用于捆绑的MPEG的RTP有效载荷的格式 RFC2344 移动IP反向隧道 RFC2367 PF_KEY键管理 API,版本 2 RFC2372 处理Internet协议(TIP)-要求和补充信息 RFC2373 IPv6寻址体系结构 RFC...
7.5.1 验证IP地址 182 7.5.2 验证域名 182 7.5.3 验证个人地址 183 7.5.4 验证完整的地址 184 7.6 分析SMTP日志文件 185 7.7 HTML标记 196 7.7.1 从用户输入中清除HTML 197 7.7.2 提取所有HTML标记 198 7.7.3 HTML...
禁用服务器上所有已发布应用程序的命令行验证 42 配置已发布内容的位置 43 配置内容重定向 43 将内容从客户端重定向到服务器 43 配置从客户端到服务器的内容重定向 44 配置内容重定向时使用客户端设备上的 Windows ...
6.3.6 授予某些用户特殊的访问 6.3.7 阻止邻近cache的滥用 6.3.8 使用IP地址拒绝请求 6.3.9 http_reply_access示例 6.3.10 阻止对本地站点的cache命中 6.4 测试访问控制 第7章 磁盘缓存基础 7.1 cache_...
* matchPattern(value,mask) //自定义规则,mask为正确的正则表达式,返回通过自定义验证的字符串 * isEnglish(name) //判断是否为英文,正确返回ture,否则返回false * isChinese(name) //判断是否为中文,正确返回 ...
13.5数据库特殊情况的恢复 13.5.1联机Redo日志损坏与恢复 13.5.2数据文件脱机与恢复 13.5.3表空间脱机与恢复 13.6本章小结 第14章 RAC安全性 14.1数据访问安全性 14.1.1 Oracle安全性解决方案 14.1.2 VPD和...
4.2.3 验证IP和登录时间 41 4.2.4 小范围调查 42 4.3 一个完整的投票系统 42 4.3.1 投票系统的功能模块 42 4.3.2 投票系统的数据库架构 43 4.3.3 数据库中数据之间的关系 43 4.3.4 投票主题管理 44 ...
可根据需要显示各种提示框 8、支持URL重写,可自定义重写规则,同时还可以限制IP访问,需修改XML配置文件 9、Xml文件操作类库,基本上已可满足常用的XML操作需要 <br>三、经常需要使用的一些验证逻辑与方法...
关于计算机数据库系统设计方案 摘要:下文主要根据笔者多年工作经验就关于计算机数据库系统设计...编辑公司所在的 IP 段,查看所有用户的状态,进行活动管理,即添加、编辑活动,设定活动规则。应用系 统需要响应用户
16. 包过滤是有选择地让数据包在内部与外部主机之间进行交换,根据安全规则有选择的路由某些数据包。下面不能进行包过滤的设备是( )。 A.路由器 B.一台独立的主机 C.交换机 D.网桥 参考答案:C 22春"计算机科学与...
3.4.3 IP地址处理 72 3.5 字符串分拆与合并处理应用实例 74 3.5.1 字符串比较 74 3.5.2 字符串交集/并集 75 3.5.3 分拆字符串并统计 78 3.5.4 借用字符串实现无规律排序 82 3.5.5 列车车次查询 82 3.6...
网 络主要以TCP/IP协议为基础,从网络协议的安全性来看,TCP/IP本身就存在一些特殊 缺陷,无法有效控制漏洞的产生。TCP/IP协议不能正确判断IP的实际来源,这是一个非 常大的安全漏洞。一些别有用心的不法分子采取...
是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关(Security Gateway),从而保护内部网免受非法用户的侵入,防火墙主要由服务访问规则、验证工具、包...