Python----检测字符串是否是十进制格式的IP地址
来源:互联网 发布:vc map数据如何拷贝 编辑:程序博客网 时间:2024/06/07 14:29
功能描述:检测输入的字符串是否符合IPv4规范的IP
参数:ipStr任意字符串
返回值:True/False
约束:不允许使用正则表达式
IPv4地址范围说明:
A类地址:1.*.*.* 到127.*.*.* 和 0.0.0.0(全网络地址)
B类地址:128.*.*.* 到191.*.*.*
C类地址:192.*.*.* 到223.*.*.*
D类地址:224.*.*.* 到239.255.255.255
E类地址:240.0.0.0 到255.255.255.255
*表示0~255
关键点:字符串、IPv4规范
def checkIPv4(ipStr): print '+++++++++++++++++++++++++++++++++++++++' print 'The Input Ip String is =',ipStr IPv4List = ipStr.split('.') print 'Ip String convert to ip List is =',IPv4List IPv4Count = len(IPv4List) print 'The Num of IPv4List is =',IPv4Count if(4!=IPv4Count): return False for i in range(0,IPv4Count): Each_IPv4_List_Len = len(IPv4List[i]) print IPv4List[i],Each_IPv4_List_Len if Each_IPv4_List_Len < 1 or Each_IPv4_List_Len > 3: print "Error: The Len of %s is %d" % (IPv4List[i],Each_IPv4_List_Len) return False for j in range(0,Each_IPv4_List_Len): if IPv4List[i][j]<'0' or IPv4List[i][j]>'9': print "Error: The %s is not only number" % IPv4List[i] return False value_of_each_IPv4_List = int(IPv4List[i]) if(value_of_each_IPv4_List<0 or value_of_each_IPv4_List>255): print "The Number of %s is overflow" % IPv4List[i] return False if int(IPv4List[0]) == 0: if int(IPv4List[1])==0 and int(IPv4List[2])==0 and int(IPv4List[3])==0 : pass else: print "Error: Not all is Zero" return False return True print checkIPv4("192.168.1.1")print checkIPv4("0.0.0.0")print checkIPv4("255.255.255.255")print checkIPv4("1.2.3.a")print checkIPv4("1231.231.3.4")print checkIPv4("0.1.1.1")print checkIPv4("-1.2.3.4")print checkIPv4("*&^.3.%.3")
阅读全文
0 0
- Python----检测字符串是否是十进制格式的IP地址
- python实现判断一个字符串是否是合法IP地址
- 【Python】判断一个字符串是否是合法IP地址
- 检测输入框中是否是合法的IP地址
- 简单的检测字符串是否是ip的算法
- 判断是否是IP地址格式
- 判断是否是IP地址格式
- 如何判断字符串是否是有效的的IP地址
- 如何判断用户输入的字符串是否是IP地址
- 判断一个字符串是否是IP地址
- 判断一个字符串的ip是否是IP合法的ip地址
- 判断一个字符串的ip是否是IP合法的ip地址
- 判断是否是有效的IP地址
- C# 判断IP格式是否正确,字符串类型IPV4地址
- 判断一个字符串是否是合法IP地址
- 判断字符串是否是正确的IP格式的C语言函数
- 如何判断一个字符串的格式是一个合法的IP地址?
- C#下判断一个字符串是否是ip地址的函数
- Node.js学习:基本目录结构
- [高频] 六.数学,几何计算,位运算常见问题
- Simulate a key press on Android
- 欢迎使用CSDN-markdown编辑器
- Spark Release 2.2.0 最新版本发布,Spark 2.2.0是Spark 2.x中第一个在生产环境可以使用的版本,对于Spark具有里程碑意义
- Python----检测字符串是否是十进制格式的IP地址
- mybatis 查询数量有结果,但查询列表时返回空
- Oracle数据库补充
- 加快建设开放型经济新体制,自觉运用法律武器依法维权
- 数据库操作
- 按词典顺序输出数字
- 【白兔兔】- 试卷 LaTeX模板
- Linux Mint 18.2双显卡之安装NVIDIA官方闭源驱动
- 使用EventFilter进行事件过滤