免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3364 | 回复: 6
打印 上一主题 下一主题

perl里面,有没有判断ip地址函数? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-08-16 13:28 |只看该作者 |倒序浏览
同上,或则有没有其他方法判断?
谢谢

论坛徽章:
0
2 [报告]
发表于 2004-08-16 13:52 |只看该作者

perl里面,有没有判断ip地址函数?

“判断”是什么意思?

论坛徽章:
0
3 [报告]
发表于 2004-08-16 14:49 |只看该作者

perl里面,有没有判断ip地址函数?

是一个字符串,判断它是否是正确的ip地址格式。

论坛徽章:
0
4 [报告]
发表于 2004-08-16 16:10 |只看该作者

perl里面,有没有判断ip地址函数?

既要支持ipv4又要支持ipv6的函数,请帮忙。

论坛徽章:
0
5 [报告]
发表于 2004-08-16 19:29 |只看该作者

perl里面,有没有判断ip地址函数?

自己写一个吧,又不难。
用正则表达式啦。
你对协议也要熟(最基本的部分)

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52
6 [报告]
发表于 2004-08-18 12:10 |只看该作者

perl里面,有没有判断ip地址函数?

怎么做?

论坛徽章:
0
7 [报告]
发表于 2004-08-18 17:10 |只看该作者

perl里面,有没有判断ip地址函数?

自己写了一个不知道对否?
  1. sub iPAddressCheck
  2. {
  3.            my $intFlag = 0;                     #Set to 1 when matched
  4.           my $intSingleColon = 0;            #For count ":" when check IPv6 address
  5.            my $intDoubleColon = 0;            #For count "::" when check IPv6 address
  6.    
  7.           my ($strIP) = @_;
  8.         $strIP =~s/^\s*//;                 #Delete front blanks
  9.            $strIP =~s/\s*$//;                 #Delete end blanks
  10.    
  11.            #If $strIP obser the IPv4 format, print "ipv4"
  12.            if($strIP =~/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/)
  13.            {
  14.                       if($1 !~/^0\d+$/ && $2 !~/^0\d+$/ && $3 !~/^0\d+$/ && $4 !~/^0\d+$/)
  15.                       {
  16.                          if($1<224 && $1!= 127 && $2<255 && $3<255 && $4<255 && $4!=0)
  17.                         {
  18.                                     $intFlag = 1;
  19.                          }
  20.                       }
  21.            }
  22.    
  23.            #If $strIP obser the IPv6 format, print "ipv6"
  24.            if($strIP !~/[^0-9A-Fa-f:]/ && $strIP !~/[0-9A-Fa-f]{5,}/ && $strIP !~/^:[0-9A-Fa-f]/ && $strIP !~/[0-9A-Fa-f]:$/)
  25.         {
  26.                       while($strIP =~ /:/g)
  27.                 {
  28.                          ++$intSingleColon;
  29.                       }
  30.                       while($strIP =~ /::/g)
  31.                 {
  32.                          ++$intDoubleColon;
  33.                       }
  34.                       if(($intDoubleColon==0&&$intSingleColon==7) or ($intDoubleColon==1&&$intSingleColon<=7))
  35.                 {

  36.                          $intFlag = 1;
  37.                       }
  38.            }  
  39.         retrun $intFlag;
  40. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP