IPV6检验函数,查看一个TEXT添的IPV6是否正确,火龙果的IPV6验证

火龙果的IPV6验证

public   class   IPv6   { 

  public   static   void   main(String[]   args)   { 
    String   ipv6   =   "3255:0304:0000:FE4A:174F:5577:289C:0014 "; 
    short[]   s   =   ipv6ToShort(ipv6); 
    byte[]   b   =   ipv6ToByte(ipv6); 
    for   (short   c   :   s)   { 
      System.out.printf( "%9d   ",   c); 
    } 
    System.out.println(); 
    for   (byte   c   :   b)   { 
      System.out.printf( "%4d   ",   c); 
    } 
    System.out.println(); 
    System.out.println(checkIPv6(ipv6)); 
  } 

  //   将   IPv6   转为   byte[16],大于   0x7F   的值用负数表示 
  public   static   byte[]   ipv6ToByte(String   ipv6)   { 
    byte[]   ipv6Byte   =   new   byte[16]; 
    String[]   ipv6s   =   ipv6.split( ": "); 
    for   (int   i   =   0;   i   <   ipv6Byte.length   /   2;   i++)   { 
      int   k   =   Integer.parseInt(ipv6s[i],   16); 
      ipv6Byte[2   *   i]   =   (byte)   (k   > >   8); 
      ipv6Byte[2   *   i   +   1]   =   (byte)   ((k   |   0xff00)   &   0xff); 
    } 
    return   ipv6Byte; 
  } 
   
  //   将   IPv6   转为   short[8],大于   0x7FFF   的值用负数表示   
  public   static   short[]   ipv6ToShort(String   ipv6)   { 
    short[]   ipv6Short   =   new   short[8]; 
    String[]   ipv6s   =   ipv6.split( ": "); 
    for   (int   i   =   0;   i   <   ipv6Short.length;   i++)   { 
      ipv6Short[i]   =   (short)Integer.parseInt(ipv6s[i],   16);       
    } 
    return   ipv6Short; 
  } 
   
  //   检验   IPv6   的格式 
  public   static   boolean   checkIPv6(String   ipv6)   { 
    return   ipv6.matches( "(\\p{XDigit}){1,4}(:(\\p{XDigit}){1,4}){7} "); 
  } 
} 

 

黑色头发  http://heisetoufa.iteye.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值