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中的对象拷贝示例 python引用传递
Jan 23 Python
Python中为feedparser设置超时时间避免堵塞
Sep 28 Python
在Python中使用PIL模块对图片进行高斯模糊处理的教程
May 05 Python
Python用模块pytz来转换时区
Aug 19 Python
Python分治法定义与应用实例详解
Jul 28 Python
基于python实现在excel中读取与生成随机数写入excel中
Jan 04 Python
numpy中loadtxt 的用法详解
Aug 03 Python
python字典嵌套字典的情况下找到某个key的value详解
Jul 10 Python
python脚本调用iftop 统计业务应用流量的思路详解
Oct 11 Python
Python之Class&amp;Object用法详解
Dec 25 Python
Anconda环境下Vscode安装Python的方法详解
Mar 29 Python
Python使用pycharm导入pymysql教程
Sep 16 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
Js的MessageBox
2006/12/03 Javascript
js 对象是否存在判断
2009/07/15 Javascript
学习ExtJS(二) Button常用方法
2009/10/07 Javascript
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
javascript 事件处理程序介绍
2012/06/27 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
2012/12/21 Javascript
js中top/parent/frame概述及案例应用
2013/02/06 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
TinyMCE汉化及本地上传图片功能实例详解
2016/05/31 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
node.js平台下的mysql数据库配置及连接
2017/03/31 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
js事件委托和事件代理案例分享
2017/07/25 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
解决npm管理员身份install时出现权限的问题
2018/03/16 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支
2019/07/04 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
jquery插件懒加载的示例
2020/10/24 jQuery
JS实现页面侧边栏效果探究
2021/01/08 Javascript
python正则表达式match和search用法实例
2015/03/26 Python
Python通过select实现异步IO的方法
2015/06/04 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
python多进程实现进程间通信实例
2017/11/24 Python
python3.6生成器yield用法实例分析
2019/08/23 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
2020/05/03 Python
python单元测试框架pytest的使用示例
2020/10/07 Python
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
给老师的检讨书
2014/02/11 职场文书
财务助理岗位职责范本
2014/10/09 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android
java版 联机五子棋游戏
2022/05/04 Java/Android