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将IP地址在整型和字符串之间轻松转换
Mar 22 Python
Python中表达式x += y和x = x+y 的区别详解
Jun 20 Python
python中selenium操作下拉滚动条的几种方法汇总
Jul 14 Python
python+tkinter实现学生管理系统
Aug 20 Python
Django stark组件使用及原理详解
Aug 22 Python
分享8点超级有用的Python编程建议(推荐)
Oct 13 Python
使用TensorFlow直接获取处理MNIST数据方式
Feb 10 Python
零基础学Python之前需要学c语言吗
Jul 21 Python
Python如何使用vars返回对象的属性列表
Oct 17 Python
Python修改DBF文件指定列
Dec 19 Python
Python使用openpyxl复制整张sheet
Mar 24 Python
代码复现python目标检测yolo3详解预测
May 06 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
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
ThinkPHP分页类使用详解
2014/03/05 PHP
php时间戳转换的示例
2014/03/31 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
2016/10/09 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
js压缩利器
2007/02/20 Javascript
定义select的边框颜色
2008/04/28 Javascript
(function($){...})(jQuery)的意思
2010/07/22 Javascript
Javascript base64编码实现代码
2011/12/02 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
2016/03/06 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
2017/04/13 Javascript
vue vuex vue-rouert后台项目——权限路由(适合初学)
2017/12/29 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
vue利用v-for嵌套输出多层对象,分别输出到个表的方法
2018/09/07 Javascript
Python查看多台服务器进程的脚本分享
2014/06/11 Python
Python中pygame的mouse鼠标事件用法实例
2015/11/11 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
linux环境下安装python虚拟环境及注意事项
2020/01/07 Python
python实现发送QQ邮件(可加附件)
2020/12/23 Python
CSS3 animation实现简易幻灯片轮播特效
2016/09/27 HTML / CSS
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
日本小田急百货官网:Odakyu
2018/07/19 全球购物
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
印度在线购买电子产品网站:Croma
2020/01/02 全球购物
介绍一下你对SOA的认识
2016/04/24 面试题
2014年前台文员工作总结
2014/12/08 职场文书
化验员岗位职责
2015/02/14 职场文书
同意落户证明
2015/06/19 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
美容院员工规章制度
2015/08/05 职场文书
2019年年中工作总结讲话稿模板
2019/03/25 职场文书
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS
Spring中的@Transactional的工作原理
2022/06/05 Java/Android