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基于隐马尔可夫模型实现中文拼音输入
Apr 01 Python
Python基于pillow判断图片完整性的方法
Sep 18 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
Dec 12 Python
python爬虫简单的添加代理进行访问的实现代码
Apr 04 Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
Jun 18 Python
Python Django框架模板渲染功能示例
Nov 08 Python
python正则表达式匹配IP代码实例
Dec 28 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
Feb 26 Python
pycharm实现在虚拟环境中引入别人的项目
Mar 09 Python
django自带的权限管理Permission用法说明
May 13 Python
python3.6使用SMTP协议发送邮件
May 20 Python
Python configparser模块应用过程解析
Aug 14 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
自己做矿石收音机
2021/03/02 无线电
深入HTTP响应状态码速查表的详解
2013/06/07 PHP
php缓存技术详细总结
2013/08/07 PHP
php实现aes加密类分享
2014/02/16 PHP
PHP 函数call_user_func和call_user_func_array用法详解
2014/03/02 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
PHP中ajax无刷新上传图片与图片下载功能
2017/02/21 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
jquery 全局AJAX事件使用代码
2010/11/05 Javascript
jqPlot 基于jquery的画图插件
2011/04/26 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
基于JavaScript实现自定义滚动条
2017/01/25 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
2018/07/05 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
JS实现纵向轮播图(初级版)
2020/01/18 Javascript
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
浅析Python多线程下的变量问题
2015/04/28 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
python 字典(dict)按键和值排序
2016/06/28 Python
python 统计代码行数简单实例
2017/05/04 Python
利用Python将每日一句定时推送至微信的实现方法
2018/08/13 Python
Django安装配置mysql的方法步骤
2018/10/15 Python
基于HTML5 的人脸识别活体认证的实现方法
2016/06/22 HTML / CSS
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
空字符串(“”)和null的区别
2012/11/13 面试题
AJAX应用和传统Web应用有什么不同
2013/08/24 面试题
财务管理专业应届毕业生求职信
2013/09/22 职场文书
酒店总经理助理岗位职责
2014/02/01 职场文书
年检委托书
2014/08/30 职场文书
假期安全教育广播稿
2014/10/04 职场文书
2014年财务个人工作总结
2014/12/08 职场文书
工作保证书怎么写
2015/02/28 职场文书