java ipv6正则表达式_用正则表达式验证IPv6地址的例子
public class Hello {
public boolean isIPv6(String address)
{
boolean result = false;
String regHex = "(\\p{XDigit}{1,4})";
//没有双冒号
String regIPv6Full = "^(" + regHex + ":){7}" + regHex + "$";
//双冒号在中间或者没有双冒号
String regIPv6AbWithColon = "^(" + regHex + "(:|::)){0,6}" + regHex
+ "$";
//双冒号开头
String regIPv6AbStartWithDoubleColon = "^(" + "::(" + regHex
+ ":){0,5}" + regHex + ")$";
String regIPv6 = "^(" + regIPv6Full + ")|("
+ regIPv6AbStartWithDoubleColon + ")|(" + regIPv6AbWithColon
+ ")$";
//System.out.println("regIPv6 =" + regIPv6);
//regIPv6 =^(^((\p{XDigit}{1,4}):){7}(\p{XDigit}{1,4})$)|(^(::((\p{XDigit}
//{1,4}):){0,5}(\p{XDigit}{1,4}))$)|(^((\p{XDigit}{1,4})(:|::)){0,6}(\p
//{XDigit}{1,4})$)$
//等价于^(^::$)|(^([\\d|a-fA-F]{1,4}:){7}([\\d|a-fA-F]{1,4})$)|(^(::
//(([\\d|a-fA-F]{1,5}([\\d|a-fA-F]{1,4}))$)|(^(([\\d|a-fA-F]{1,4})
//(:|::)){0,6}([\\d|a-fA-F]{1,4})$)$
//下面还要处理地址为::的情形和地址包含多于一个的::的情况(非法)
if (address.indexOf(":") != -1)
{
if (address.length() <= 39)
{
String addressTemp = address;
int doubleColon = 0;
if(address.equals("::"))return true;
while (addressTemp.indexOf("::") != -1)
{
addressTemp = addressTemp.substring(addressTemp
.indexOf("::") + 2,addressTemp.length());
doubleColon++;
}
if (doubleColon <= 1)
{
result = address.matches(regIPv6);
}
}
}
return result;
}
public static void main(String[] args)
{
Hello hello=new Hello();
boolean bln=false;
bln=hello.isIPv6("::");
System.out.println("Start...") ;
if (bln)
System.out.println("OK") ;
else
System.out.println("NO") ;
}
}
相关文章
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250
java ipv6正则表达式_用正则表达式验证IPv6地址的例子相关推荐
- 正则语言和正则表达式_探索正则表达式背后的语言学
正则语言和正则表达式 by Alaina Kafkes 由Alaina Kafkes 探索正则表达式背后的语言学 (Exploring the Linguistics Behind Regular E ...
- java 车牌号验证正则表达式_使用正则表达式验证手机号、车牌号
1.javascript验证手机号 function checkPhone(){ var sPhone = document.getElementById("id").value ...
- java jui 正则表达式_常规正则表达式练习
PS:join()数组转串,split()串转数组 1.test():在字符串查找符合正则的内容,如果查找到返回true,反之返回false 用法:正则.test(字符串) 2.search():在字 ...
- java车牌正则表达式_车牌正则表达式
public static void main(String [] args){ //车牌示例 String hphm[] = { "沪A0002B","沪A0001警& ...
- regex 正则表达式_使用正则表达式(Regex)删除HTML标签
regex 正则表达式 Most of the data in the world are unstructured data form because, in human communication ...
- java validate 框架_使用validate验证框架
主要是两个配置文件和资源文件的修改,然后就是在jsp中输出验证的结果 validator-rules.xml是验证注册类,用于定义验证逻辑,它的部分代码 className="org.apa ...
- mysql ipv6 禁用_使用ip6tables禁用ipv6
在上世纪90年代,也就是1994年的时候人们因为应对ipv4地址的短缺的问题而提出使用NAT技术ip过载,就出现了局域网的概念,让局域网的私有ip能过通过NAT转发来实现上网,NAT不仅能解决了lP地 ...
- java 地图坐标转换_百度地图经纬度和地址互转(Java代码)
这是基于springmvc+mybatis 的一个controller.如果不是这个框架,可以把方法实体抽到自己写的一个类中,然后再测试 package com.uwitec.controller.s ...
- 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 ...
最新文章
- 国内外财务软件科目结构的比较
- 【redis】在windos下的redis服务器的搭建
- 食物在人体内消化主要经过哪些步骤
- 重磅发布 | 蚂蚁金服与电子标准院达成战略合作 共同推进数据安全行业的标准化...
- ArcGIS连接pg数据库
- ISO 2768-1 标准
- Matlab中批读取DCM文件
- Axure8.0基础教程(11-20)AxureRP8基础操作
- 初中计算机课师徒结对活动记录,2013师徒结对活动记录
- LVGL lv_msgbox消息对话框(22)
- java2048_java之2048
- 汇编 bne 1b和bne 1f浅析
- HttpClient上传文件到微信素材乱码问题解决
- 灰色-马尔可夫预测模型
- js根据生日计算出年龄
- Packet Tracer 思科模拟器入门教程 之十三 路由器OSPF动态路由配置
- 多重共线性是如何影响回归模型的
- 正交排列法、正交试验设计、正交表
- 人工智能发展月报(2022年11月)
- 导出iphone手机安装包的几种方法
热门文章
- Python中lambda表达式_匿名函数
- 稻盛和夫说过的十句经典管理名言是什么?
- html —— label 标签
- 精灵骑士二觉_DNF精灵骑士二觉大地女神技能介绍 精灵骑士二觉改动详解
- [深入研究4G/5G/6G专题-59]: 以太网交换平台软件如何升级成基站平台软件
- 中移动3G第一阶段全业务曝光 含34个增值业务
- 微软第三财季营收306亿美元 净利润88亿同比增19%
- 跟低效说拜拜,教你一键创建多个SOLIDWORKS 工程图
- C语言解决对给定的任一不超过1000的正整数n,简单地数一下,需要多少步(砍几下)才能得到n=1?
- mybatis-sparing- 1.1.1 和1.1.2版本的区别