判斷IP位址是否合法

2021-10-03 18:01:20 字數 2087 閱讀 2822

1、字串切割判斷

def

legalip

(ip)

: ip = ip.split(

'.')

m =len(ip)

if m!=4or

(not ip[0]

.isdigit())

orint

(ip[0]

)<=0or

int(ip[0]

)>

255:

print

('illegal'

)else

:for i in

range(1

,m):

if ip[i]

.isdigit(

)and

int(ip[i]

)>=

0and

int(ip[i]

)<=

255:

pass

else

:print

('illegal'

)return

print

('legal'

)if __name__ ==

'__main__'

: ip =

input

('enter a ip:\n'

) legalip(ip)

2、正規表示式匹配

import re

defcheck_ip

(ipaddr)

: compile_ip=re.

compile

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

)if compile_ip.match(ipaddr)

:print

('legal'

)else

:print

('illegal'

)if __name__ ==

'__main__'

: ip =

input

('enter a ip:\n'

) check_ip(ip)

ip位址分類(a類 b類 c類 d類 e類)

b類:128.0.0.0-191.255.0.0

c類:192.0.0.0-223.255.255.0

d類:224.0.0.0-239.255.255.255

e類:240.0.0.0-237.255.255.255

ip位址由四段組成,每個欄位是乙個位元組,8位,最大值是255,

ip位址由兩部分組成,即網路位址和主機位址。網路位址表示其屬於網際網路的哪乙個網路,主機位址表示其屬於該網路中的哪一台主機。二者是主從關係。

ip位址的四大型別標識的是網路中的某台主機。ipv4的位址長度為32位,共4個位元組,但實際中我們用點分十進位制記法。

ip位址根據網路號和主機號來分,分為a、b、c三類及特殊位址d、e。 全0和全1的都保留不用。

a類:(1.0.0.0-126.0.0.0)(預設子網掩碼:255.0.0.0或 0xff000000)第乙個位元組為網路號,後三個位元組為主機號。該類ip位址的最前面為「0」,所以位址的網路號取值於1~126之間。一般用於大型網路。

b類:(128.0.0.0-191.255.0.0)(預設子網掩碼:255.255.0.0或0xffff0000)前兩個位元組為網路號,後兩個位元組為主機號。該類ip位址的最前面為「10」,所以位址的網路號取值於128~191之間。一般用於中等規模網路。

c類:(192.0.0.0-223.255.255.0)(子網掩碼:255.255.255.0或 0xffffff00)前三個位元組為網路號,最後乙個位元組為主機號。該類ip位址的最前面為「110」,所以位址的網路號取值於192~223之間。一般用於小型網路。

c 判斷IP位址是否合法

以字串形式輸入n行ip位址,格式為a.b.c.d,每個數字均在 0,255 之間,判斷ip位址是否合法,是輸出yes,否輸出no。輸入樣例 21.2.3.4 172.168.0.300 輸出樣例 yesno 注意 string轉int需要標頭檔案 include include using name...

華為oj 判斷IP位址是否合法

include includeusing namespace std int valid digit char ip str return 1 int is valid ip char ip str else return 0 valid ip string must contain 3 dots ...

判斷輸入的IP位址是否合法

判斷輸入的ip位址是否合法,ip位址的值在0 255之間,先把輸入的ip的位址轉換為乙個字串。define len sizeof xx sizeof xx 0 const char xx const char m int checkipisvalid const char ip char c 4 i...