欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

詳解Python判定IP地址合法性的三種方法

系統 2008 0

IP合法性校驗是開發中非常常用的,看起來很簡單的判斷,作用確很大,寫起來比較容易出錯,今天我們來總結一下,看一下3種常用的IP地址合法性校驗的方法。

IPv4的ip地址格式:(1~255).(0~255).(0~255).(0~255)

方法1: 正則表達式判定法

最簡單的實現方法是構造一個正則表達式。判斷用戶的輸入與正則表達式是否匹配。若匹配則是正確的IP地址,否則不是正確的IP地址。

復制代碼 代碼如下:

^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$

下面給出相對應的驗證ip的正則表達式:

\d表示0~9的任何一個數字

{2}表示正好出現兩次

[0-4]表示0~4的任何一個數字

| 的意思是或者

1\d{2}的意思就是100~199之間的任意一個數字

2[0-4]\d的意思是200~249之間的任意一個數字

25[0-5]的意思是250~255之間的任意一個數字

[1-9]\d的意思是10~99之間的任意一個數字

[1-9])的意思是1~9之間的任意一個數字

\.的意思是.點要轉義(特殊字符類似,@都要加\\轉義)

代碼如下:

            
import re
def check_ip(ipAddr):
  compile_ip=re.compile('^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$')
  if compile_ip.match(ipAddr):
    return True  
  else:  
    return False
          

方法2: 字符串拆解法

把ip地址當作字符串,以.為分隔符分割,進行判斷

代碼:

            
#!/usr/bin/python 
import os,sys 
def check_ip(ipAddr): 
    import sys 
    addr=ipAddr.strip().split('.') #切割IP地址為一個列表 
    #print addr 
    if len(addr) != 4: #切割后列表必須有4個參數 
        print "check ip address failed!"
        sys.exit() 
    for i in range(4): 
        try: 
            addr[i]=int(addr[i]) #每個參數必須為數字,否則校驗失敗 
        except: 
            print "check ip address failed!"
            sys.exit() 
        if addr[i]<=255 and addr[i]>=0:  #每個參數值必須在0-255之間 
            pass
        else: 
            print "check ip address failed!"
            sys.exit() 
        i+=1
    else: 
        print "check ip address success!"
if len(sys.argv)!=2: #傳參加本身長度必須為2 
    print "Example: %s 10.0.0.1 "%sys.argv[0] 
    sys.exit() 
else: 
    check_ip(sys.argv[1]) #滿足條件調用校驗IP函數

          

方法3: 引入IPy類庫

IPy庫是一個處理IP比較強大的第三方庫

IPy庫的安裝請自行查找。

            
import IPy 
 def is_ip(address): 
  try: 
    IPy.IP(address) 
    return True 
  except Exception as e: 
    return False
          

總結

三種方法都能夠準確的判斷出ip(IP V4)地址的合法性, 正則表達式代碼量少, 邏輯簡單, 但是正則表達式繁瑣, 字符串判定法容易理解,但是代碼量大, 使用類庫,判斷簡潔,但是需要引入額外的庫。各有利弊, 使用時自行選擇即可。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 91福利在线观看 | 久久99热这里只频精品6中文字幕 | 12306午夜被窝播播影院yw188 | 日韩看片| 国产精品久久久久久久一区探花 | 波多野结衣一区二区 | 国产精品久久婷婷六月丁香 | 免费人成又黄又爽的视频强 | 国产91亚洲精品 | 国产精彩视频 | 欧美精品一区在线发布 | 色一欲一性一乱一区二区三区 | 日韩中文字幕在线播放 | 久草在线免费福利视频 | 女人叉开腿让男人桶 | 黑人黄色大片 | 久操热久操 | 久久精品69| 国产午夜大片 | 国产精品久久久久久久久久久久久 | 丝袜美腿一区二区三区 | 国产成人免费无庶挡视频 | 亚洲操片 | 欧美精品日韩一区二区三区 | 国产毛片视频 | 日本高清不卡在线 | 日本中文字幕在线播放 | 亚洲色图88 | 久久爱综合网 | 欧美日韩一区二区高清视 | 一级肉体aa电影 | 91久久国产口精品久久久久 | 色综合色综合色综合色综合 | 一区二区三区在线 | 99影视在线视频免费观看 | 国产免费一区二区三区免费视频 | 狠狠躁日日躁夜夜躁A片小说按摩 | 免费 视频 1级 | 日本精品不卡 | 欧美a级成人淫片免费看 | 在线不卡视频 |