日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

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

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

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

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

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

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

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

{2}表示正好出現兩次

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

| 的意思是或者

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

分享到:
標簽:Python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定