
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)地址的合法性, 正則表達式代碼量少, 邏輯簡單, 但是正則表達式繁瑣, 字符串判定法容易理解,但是代碼量大, 使用類庫,判斷簡潔,但是需要引入額外的庫。各有利弊, 使用時自行選擇即可。