遇到這麼乙個需求,**上某個輸入框,允許使用者輸入埠號,支援單個埠號,多個埠號以逗號隔開,連續埠號以-分隔;同時支援輸入多個、多種型別的埠號;最簡單的方式是使用正則篩查,但是沒找到合適的正則,就臨時用python寫了乙個判斷指令碼;
#!/usr/bin/python
# _*_ coding:utf-8 _*_
#驗證埠號輸入內容,埠號之間以逗號隔開,連續埠以-連線,允許多個埠號
import os
import re
import sys
defport_check()
:while
true
:try
: ports =
str(
raw_input
('請輸入埠號:'))
#排除空
if ports =="":
print
("內容不能為空"
)continue
elif ports ==
"q":
break
#排除非法字元
elif re.search(
"[,\d-]+"
,ports)
.group(
)!= ports:
print
("內容中包含非法字元"
)continue
#字串中不包含逗號
elif
','not
in ports:
#判斷字串是否包含-
if'-'
in ports:
#判斷字串格式是否為xx-xx
if re.search(
"\d+-\d+"
,ports)
.group(
)== ports:
for port in ports.split(
'-')
:#驗證埠號範圍
ifint
(port)
<=0or
int(port)
>
65535
:print
("埠號不合規"
)break
else
:print
("ok"
)else
:print
("連續埠格式不合規"
)continue
else
:#驗證埠號範圍
ifint
(ports)
>
0and
int(ports)
<
65535
:print
("ok"
)else
:print
("埠號不合規"
)else
:for port in ports.split(
",")
:if port =="":
print
("內容不合規"
)break
elif
'-'in port:
#判斷字串格式是否為xx-xx
if re.search(
"\d+-\d+"
,port)
.group(
)== port:
#驗證埠號範圍
list
= port.split(
'-')
ifint
(list[0
])<=0or
int(
list[0
])>
65535
orint
(list[1
])<=0or
int(
list[1
])>
65534
:print
("埠號不合規"
)break
else
:print
("連續埠格式不合規"
)continue
else
:#驗證埠號範圍
ifint
(port)
<=
0and
int(port)
>=
65535
:print
("埠號不合規"
)break
else
:print
("ok"
)except
:continue
if __name__ ==
"__main__"
: port_check(
)
修改埠號
修改埠號 在預設情況下,tomcat的埠是8080,使用了兩個tomcat,那麼就需要修改其中的乙個的埠號才能使得兩個同時工作。那麼,如何修改tomcat的埠號呢?首先到安裝目錄 或者解壓目錄 下找到conf資料夾,在裡面找到server.xml的檔案,找到 將port 8080 改為其它的就可以了...
網路埠號
網路埠 一.提出的背景 在多程序的環境下,為了解決兩個主機之間的通訊,但是源主機不知道要傳送訊息給目的主機的哪乙個程序,所以,必須使用埠號來確定目的主機上的唯一的乙個程序。埠號應用於傳輸層。二.分類 一 按照埠號分為3類 1 公共埠 從0 1023,總共1024個這些埠的通訊都明確表明了某種服務的協...
預設埠號
序號 mysql 埠號1 mysql 3306 2redis 6379 3zookeeper 2181 4kafka 9092 5etcd 客戶端連線埠 2379 內部互聯埠 監聽節點間通訊 2380 6influxdb 8086 用於客戶端和服務端互動的http api 8088 用於提供備份和恢...