python中validators库的使用方法详解


Posted in Python onSeptember 23, 2022

前言

首先安装validators库:

pip install validators

python中validators库的使用方法详解

validators.between(value, min=None, max=None)

验证一个数字value是否在最小值min和最大值max之间,value不仅仅可以是整数,也可以是其它数据类型,例如floats, decimals 和 dates。

源码解析:

def between(value, min=None, max=None):
    """
    Validate that a number is between minimum and/or maximum value.
    This will work with any comparable type, such as floats, decimals and dates
    not just integers.
    This validator is originally based on `WTForms NumberRange validator`_.
    .. _WTForms NumberRange validator:
       https://github.com/wtforms/wtforms/blob/master/wtforms/validators.py
    Examples::
        >>> from datetime import datetime
        >>> between(5, min=2)
        True
        >>> between(13.2, min=13, max=14)
        True
        >>> between(500, max=400)
        ValidationFailure(func=between, args=...)
        >>> between(
        ...     datetime(2000, 11, 11),
        ...     min=datetime(1999, 11, 11)
        ... )
        True
    :param min:
        The minimum required value of the number. If not provided, minimum
        value will not be checked.
    :param max:
        The maximum value of the number. If not provided, maximum value
        will not be checked.
    .. versionadded:: 0.2
    """

示例代码:

from validators import between
from datetime import datetime
 
aa = between(3, min=2)
print(aa)
 
bb = between(3, min=2, max=5)
print(bb)
 
cc = between(3, max=2)
print(cc)
 
dd = between(datetime(2022, 9, 21), min=datetime(2022, 9, 19))
print(dd)
 
ee = between(datetime(2022, 9, 21), min=datetime(2022, 9, 19), max=datetime(2022, 10, 19))
print(ee)
 
ff = between(datetime(2022, 9, 21), max=datetime(2022, 9, 19))
print(ff)

运行结果:

python中validators库的使用方法详解

validators.domain(value)

验证value是否是一个有效域。如果value是一个有效域名,函数返回True, 否则返回 ValidationFailure.

源码解析:

def domain(value):
    """
    Return whether or not given value is a valid domain.
    If the value is valid domain name this function returns ``True``, otherwise
    :class:`~validators.utils.ValidationFailure`.
    Examples::
        >>> domain('example.com')
        True
        >>> domain('example.com/')
        ValidationFailure(func=domain, ...)
    Supports IDN domains as well::
        >>> domain('xn----gtbspbbmkef.xn--p1ai')
        True
    .. versionadded:: 0.9
    .. versionchanged:: 0.10
        Added support for internationalized domain name (IDN) validation.
    :param value: domain string to validate
    """

示例代码:

from validators import domain
 
aa = domain('example.com')
print(aa)
 
bb = domain('example..com')
print(bb)

运行结果:

python中validators库的使用方法详解

validators.email(value, whitelist=None)

验证是否是合法的邮件地址,如果是,函数返回True, 否则返回 ValidationFailure.

源码解析:

def email(value, whitelist=None):
    """
    Validate an email address.
    This validator is based on `Django's email validator`_. Returns
    ``True`` on success and :class:`~validators.utils.ValidationFailure`
    when validation fails.
    Examples::
        >>> email('someone@example.com')
        True
        >>> email('bogus@@')
        ValidationFailure(func=email, ...)
    .. _Django's email validator:
       https://github.com/django/django/blob/master/django/core/validators.py
    .. versionadded:: 0.1
    :param value: value to validate
    :param whitelist: domain names to whitelist
    :copyright: (c) Django Software Foundation and individual contributors.
    :license: BSD
    """

示例代码:

from validators import email
 
aa = email("123@qq.com")
print(aa)
 
bb = email("123@.com")
print(bb)

运行结果:

python中validators库的使用方法详解

validators.ip_address.ipv4(value) 

验证是否是合法的ipv4地址,如果是,函数返回True, 否则返回 ValidationFailure.

源码解析:

def ipv4(value):
    """
    Return whether a given value is a valid IP version 4 address.
    This validator is based on `WTForms IPAddress validator`_
    .. _WTForms IPAddress validator:
       https://github.com/wtforms/wtforms/blob/master/wtforms/validators.py
    Examples::
        >>> ipv4('123.0.0.7')
        True
        >>> ipv4('900.80.70.11')
        ValidationFailure(func=ipv4, args={'value': '900.80.70.11'})
    .. versionadded:: 0.2
    :param value: IP address string to validate
    """

示例代码:

from validators.ip_address import ipv4
 
aa = ipv4("127.0.0.1")
print(aa)
 
bb = ipv4("333.1.1.1")
print(bb)

运行结果:

python中validators库的使用方法详解

validators.ip_address.ipv6(value)

验证是否是合法的ipv6地址,如果是,函数返回True, 否则返回 ValidationFailure.

源码解析:

def ipv6(value):
    """
    Return whether a given value is a valid IP version 6 address
    (including IPv4-mapped IPv6 addresses).
    This validator is based on `WTForms IPAddress validator`_.
    .. _WTForms IPAddress validator:
       https://github.com/wtforms/wtforms/blob/master/wtforms/validators.py
    Examples::
        >>> ipv6('abcd:ef::42:1')
        True
        >>> ipv6('::ffff:192.0.2.128')
        True
        >>> ipv6('::192.0.2.128')
        True
        >>> ipv6('abc.0.0.1')
        ValidationFailure(func=ipv6, args={'value': 'abc.0.0.1'})
    .. versionadded:: 0.2
    :param value: IP address string to validate
    """

示例代码:

from validators.ip_address import ipv6
 
aa = ipv6("abcd:ef::42:1")
print(aa)
 
bb = ipv6("abc.0.0.1")
print(bb)

运行效果:

python中validators库的使用方法详解

validators.length(value, min=None, max=None) 

验证给定的字符串长度是否在指定范围内。

示例代码:

from validators import length
 
aa = length('aaa', min=2)
print(aa)
 
bb = length("aaa", min=2, max=5)
print(bb)
 
cc = length("aaa", max=2)
print(cc)

运行结果:

python中validators库的使用方法详解

validators.mac_address(value) 

验证是否是合法的mac地址,如果是,函数返回True, 否则返回 ValidationFailure.

示例代码:

from validators import mac_address
 
aa = mac_address('01:23:45:67:ab:CD')
print(aa)
 
bb = mac_address('00:00:00:00:00')
print(bb)

运行结果:

python中validators库的使用方法详解

validators.url(value, public=False) 

验证是否是合法的url,如果是,函数返回True, 否则返回 ValidationFailure.

Parameters:

  • value – 要验证的url
  • public – (default=False) Set True to only allow a public IP address

示例代码:

from validators import url
 
aa = url('http://www.baidu.com')
print(aa)
 
bb = url("www.baidu.com")
print(bb)
 
cc = url("http://127.0.0.1")
print(cc)
 
dd = url("http://127.0.0.1", public=True)
print(dd)

运行结果:

python中validators库的使用方法详解

到此这篇关于python中validators库的使用方法详解的文章就介绍到这了,更多相关python validators库内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中的装饰器用法详解
Jan 14 Python
python 性能优化方法小结
Mar 31 Python
Python多进程multiprocessing用法实例分析
Aug 18 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
Oct 14 Python
python爬取淘宝商品销量信息
Nov 16 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
python设定并获取socket超时时间的方法
Jan 12 Python
python os模块简单应用示例
May 23 Python
python异常处理和日志处理方式
Dec 24 Python
python读取文件指定行内容实例讲解
Mar 02 Python
什么是Python中的匿名函数
Jun 02 Python
Python必备技巧之字符数据操作详解
Mar 23 Python
Python pyecharts案例超市4年数据可视化分析
Aug 14 #Python
Python编写车票订购系统 Python实现快递收费系统
Aug 14 #Python
Golang Web 框架Iris安装部署
Aug 14 #Python
python manim实现排序算法动画示例
Python 操作pdf pdfplumber读取PDF写入Exce
Aug 14 #Python
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
Aug 14 #Python
基于Python实现nc批量转tif格式
Aug 14 #Python
You might like
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
简单JS代码压缩器
2006/10/12 Javascript
jquery下利用jsonp跨域访问实现方法
2010/07/29 Javascript
js+JQuery返回顶部功能如何实现
2012/12/03 Javascript
JS实现跟随鼠标闪烁转动色块的方法
2015/02/26 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
javascript关于继承解析
2016/05/10 Javascript
Jquery获取第一个子元素简单实例
2016/06/02 Javascript
解决VUEX刷新的时候出现数据消失
2017/07/03 Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
2018/07/12 jQuery
vue 项目中使用Loading组件的示例代码
2018/08/31 Javascript
解决vue 绑定对象内点击事件失效问题
2018/09/05 Javascript
微信小程序实现无限滚动列表
2020/05/29 Javascript
原生js实现获取form表单数据代码实例
2019/03/27 Javascript
微信小程序纯文本实现@功能
2020/04/08 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
vue内置组件keep-alive事件动态缓存实例
2020/10/30 Javascript
[01:12:35]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
Python中格式化format()方法详解
2017/04/01 Python
Python 安装setuptools和pip工具操作方法(必看)
2017/05/22 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
Python split() 函数拆分字符串将字符串转化为列的方法
2019/07/16 Python
Keras自定义IOU方式
2020/06/10 Python
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
艺术应用与设计个人的自我评价
2013/11/23 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
股权投资意向书
2014/04/01 职场文书
欢迎领导标语
2014/06/27 职场文书
财务整改报告范文
2014/11/05 职场文书
学习心理学的体会
2014/11/07 职场文书
小学体育组工作总结
2015/08/13 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书
写作技巧:优秀文案必备的3种结构
2019/08/19 职场文书
Python使用OpenCV实现虚拟缩放效果
2022/02/28 Python