一、python校驗IP地址合法性
執行效果:
python代碼:
[root@yang python]# vi check_ip.py
#!/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函數
二、shell校驗IP地址合法性
執行校果:
? 返回值0校驗合法,非0不合法。
shell代碼:
[root@yang python]# vi check_ip.sh
#!/usr/bin/sh
CheckIPAddr()
{
echo $1|grep "^[0-9]\{1,3\}\.\([0-9]\{1,3\}\.\)\{2\}[0-9]\{1,3\}$" > /dev/null;
#IP地址必須為全數字
??????? if [ $? -ne 0 ]
??????? then
??????????????? return 1
??????? fi
??????? ipaddr=$1
??????? a=`echo $ipaddr|awk -F . '{print $1}'`?? #以"."分隔,取出每個列的值
??????? b=`echo $ipaddr|awk -F . '{print $2}'`
??????? c=`echo $ipaddr|awk -F . '{print $3}'`
??????? d=`echo $ipaddr|awk -F . '{print $4}'`
??????? for num in $a $b $c $d
??????? do
??????????????? if [ $num -gt 255 ] || [ $num -lt 0 ]???? #每個數值必須在0-255之間
??????????????? then
??????????????????????? return 1
??????????????? fi
??????? done
??????????????? return 0
}
if [ $# -ne 1 ];then??????????? #判斷傳參數量
??????? echo "Usage: $0 ipaddress."
??????? exit
else
CheckIPAddr $1
fi
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
