Python检测端口IP字符串是否合法


Posted in Python onJune 05, 2020

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现的一个p2p文件传输实例
Jun 04 Python
Python中多线程的创建及基本调用方法
Jul 08 Python
python 读取txt中每行数据,并且保存到excel中的实例
Apr 29 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
Sep 17 Python
python+pyqt5实现KFC点餐收银系统
Jan 24 Python
python多线程调用exit无法退出的解决方法
Feb 18 Python
pyinstaller打包单个exe后无法执行错误的解决方法
Jun 21 Python
处理python中多线程与多进程中的数据共享问题
Jul 28 Python
Python学习笔记之For循环用法详解
Aug 14 Python
pandas 空数据处理方法详解
Nov 02 Python
python实现手势识别的示例(入门)
Apr 15 Python
django中websocket的具体使用
Jan 22 Python
Python如何基于Tesseract实现识别文字功能
Jun 05 #Python
如何导出python安装的所有模块名称和版本号到文件中
Jun 05 #Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 #Python
pycharm远程连接vagrant虚拟机中mariadb数据库
Jun 05 #Python
浅谈python 调用open()打开文件时路径出错的原因
Jun 05 #Python
Python命名空间namespace及作用域原理解析
Jun 05 #Python
Python3内置函数chr和ord实现进制转换
Jun 05 #Python
You might like
一个ORACLE分页程序,挺实用的.
2006/10/09 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
2014年最新推荐的10款 PHP 开发框架
2014/08/01 PHP
PHP模板引擎Smarty自定义变量调解器用法
2016/04/11 PHP
PHP中session跨子域的三种实现方法
2016/07/25 PHP
php arsort 数组降序排序详细介绍
2016/11/17 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
JavaScript 字符串乘法
2009/08/20 Javascript
javascript 面向对象编程基础:继承
2009/08/21 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
Node.js中的缓冲与流模块详细介绍
2015/02/11 Javascript
使用js实现的简单拖拽效果
2015/03/18 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
2015/12/10 Javascript
Jquery插件easyUi实现表单验证示例
2015/12/15 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
2016/05/13 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
JS中正则表达式全局匹配模式 /g用法详解
2017/04/01 Javascript
详解Node 定时器
2018/02/26 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
python实现dnspod自动更新dns解析的方法
2014/02/14 Python
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
Python实现大文件排序的方法
2015/07/10 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
欧克利英国官网:Oakley英国
2019/08/24 全球购物
酒店员工职业生涯规划
2014/02/25 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
2014年银行员工工作总结
2014/11/12 职场文书
自我评价优缺点范文
2015/03/11 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
推广普通话的宣传语
2015/07/13 职场文书