时间:2020-11-13 08:27:18 | 栏目:Python代码 | 点击:次
IP合法性校验是开发中非常常用的,看起来很简单的判断,作用确很大,写起来比较容易出错,今天我们来总结一下,看一下3种常用的IP地址合法性校验的方法。
不使用正则表达式的方式:
def is_ip(ip: str) -> bool: return True if [True] * 4 == [x.isdigit() and 0 <= int(x) <= 255 for x in ip.split(".")] else False
使用正则表达式的方式
import re def isIP(str): p = re.compile('^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$') if p.match(str): return True else: return False
另一种
def checkip(hostip): pat = re.compile(r'([0-9]{1,3})\.') r = re.findall(pat,hostip+".") if len(r)==4 and len([x for x in r if int(x)>=0 and int(x)<=255])==4: return True else: return False