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中的split()函数的使用方法
Apr 07 Python
简单谈谈python中的Queue与多进程
Aug 25 Python
Python实现PS滤镜特效之扇形变换效果示例
Jan 26 Python
python实现Decorator模式实例代码
Feb 09 Python
Django自定义过滤器定义与用法示例
Mar 22 Python
详解Django-auth-ldap 配置方法
Dec 10 Python
python3.7 sys模块的具体使用
Jul 22 Python
python之生产者消费者模型实现详解
Jul 27 Python
Pyinstaller 打包exe教程及问题解决
Aug 16 Python
Python求正态分布曲线下面积实例
Nov 20 Python
python:删除离群值操作(每一行为一类数据)
Jun 08 Python
增大python字体的方法步骤
Jul 05 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开发者事半功倍的十大技巧小结
2010/04/20 PHP
php实现带读写分离功能的MySQL类完整实例
2016/07/28 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
PHP 实现重载
2021/03/09 PHP
我也种棵OO树JXTree[js+css+xml]
2007/04/02 Javascript
js实现的网页颜色代码表全集
2007/07/17 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
javascript创建createXmlHttpRequest对象示例代码
2014/02/10 Javascript
封装好的一个万能检测表单的方法
2015/01/21 Javascript
JS模拟实现Select效果代码
2015/09/24 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
Bootstrap CSS组件之输入框组
2016/12/17 Javascript
捕获未处理的Promise错误方法
2017/10/13 Javascript
jQuery 禁止表单用户名、密码自动填充功能
2017/10/30 jQuery
原生JavaScript实现的简单放大镜效果示例
2018/02/07 Javascript
使用elementUI实现将图片上传到本地的示例
2018/09/04 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
2018/10/19 Javascript
Vuex 使用 v-model 配合 state的方法
2018/11/13 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
2018/11/29 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
2020/04/11 Javascript
python学习笔记之调用eval函数出现invalid syntax错误问题
2015/10/18 Python
Python rstrip()方法实例详解
2018/11/11 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
以实惠的价格提供高品质的时尚:Newchic
2018/01/18 全球购物
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
北京捷通华声语音技术有限公司Java软件工程师笔试题
2012/04/10 面试题
运动会400米加油稿(8篇)
2014/09/22 职场文书
个人职业及收入证明
2014/10/13 职场文书
党员示范岗材料
2014/12/19 职场文书
2015年纪检监察工作总结
2015/04/08 职场文书
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript