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实现list反转实例汇总
Nov 11 Python
解析Python中的变量、引用、拷贝和作用域的问题
Apr 07 Python
python实现批量监控网站
Sep 09 Python
Python简单计算数组元素平均值的方法示例
Dec 26 Python
用python标准库difflib比较两份文件的异同详解
Nov 16 Python
python3字符串操作总结
Jul 24 Python
Django框架HttpRequest对象用法实例分析
Nov 01 Python
关于Python turtle库使用时坐标的确定方法
Mar 19 Python
Python unittest discover批量执行代码实例
Sep 08 Python
python不同版本的_new_不同点总结
Dec 09 Python
手残删除python之后的补救方法
Jun 26 Python
Python如何加载模型并查看网络
Jul 15 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-MySQL教程归纳总结
2008/06/07 PHP
php无限极分类实现的两种解决方法
2013/04/28 PHP
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
php读取txt文件并将数据插入到数据库
2016/02/23 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
浅谈laravel orm 中的一对多关系 hasMany
2019/10/21 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
执行iframe中的javascript方法
2008/10/07 Javascript
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
JS中判断null、undefined与NaN的方法
2014/03/26 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
jQuery form插件之formDdata参数校验表单及验证后提交
2016/01/23 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
JS简单表单验证功能完整示例
2020/01/26 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
js实现3D旋转效果
2020/08/18 Javascript
Python文件常见操作实例分析【读写、遍历】
2018/12/10 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
python中如何使用insert函数
2020/01/09 Python
css3的transform造成z-index无效解决方案
2014/12/04 HTML / CSS
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
经典c++面试题二
2015/08/14 面试题
机械设计专业应届生求职信
2013/11/21 职场文书
注塑工厂厂长岗位职责
2013/12/02 职场文书
大学生党员个人对照检查材料范文
2014/09/25 职场文书
2014业务员年终工作总结
2014/12/09 职场文书
2015年政教主任工作总结
2015/07/23 职场文书
企业法人任命书
2015/09/21 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书
flex布局中使用flex-wrap实现换行的项目实践
2022/06/21 HTML / CSS