Python課堂:判定IP地址合法性的三種方法


IP

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

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

正則表達式判定法

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

下面給出相對應(yīng)的驗證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)$

\d表示0~9的任何一個數(shù)字

{2}表示正好出現(xiàn)兩次

[0-4]表示0~4的任何一個數(shù)字

| 的意思是或者

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

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

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

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

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

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

代碼如下:

字符串拆解法?

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

引入IPy類庫?

IPy庫是一個處理IP比較強大的第三方庫。涉及到計算大量的IP地址,包括網(wǎng)段、網(wǎng)絡(luò)掩碼、廣播地址、子網(wǎng)數(shù)、IP類型等別擔心,Ipy模塊拯救你。Ipy模塊可以很好的輔助我們高效的完成IP的規(guī)劃工作。

IPy庫的安裝方法請根據(jù)自己的操作系統(tǒng)自行查找,有很多詳細例子。

總結(jié)?


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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 名詞延伸 通俗的說,域名就相當于一個家庭的門牌號碼,別人通過這個號碼可以很容易的找到你。如果把IP地址比作一間房子...
    楊大蝦閱讀 20,811評論 2 56
  • 忘了從哪收集的資料了,放這兒,以備不時之需。 只能輸入數(shù)字:"^[0-9]*$"。 只能輸入n位的數(shù)字:"^\d{...
    study_monkey閱讀 1,485評論 0 7
  • 正則表達式到底是什么東西?字符是計算機軟件處理文字時最基本的單位,可能是字母,數(shù)字,標點符號,空格,換行符,漢字等...
    獅子挽歌閱讀 2,287評論 0 9
  • 一、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 6,032評論 2 16
  • 異常:中斷了正常指令流的事件。它是在運行時產(chǎn)生的try{}catch(){}finally{}
    十方天儀君閱讀 242評論 0 0

友情鏈接更多精彩內(nèi)容