python中validators庫(kù)的使用方法詳解
前言
首先安裝validators庫(kù):
pip install validators

validators.between(value, min=None, max=None)
驗(yàn)證一個(gè)數(shù)字value是否在最小值min和最大值max之間,value不僅僅可以是整數(shù),也可以是其它數(shù)據(jù)類型,例如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)
運(yùn)行結(jié)果:

validators.domain(value)
驗(yàn)證value是否是一個(gè)有效域。如果value是一個(gè)有效域名,函數(shù)返回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)運(yùn)行結(jié)果:

validators.email(value, whitelist=None)
驗(yàn)證是否是合法的郵件地址,如果是,函數(shù)返回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)運(yùn)行結(jié)果:

validators.ip_address.ipv4(value)
驗(yàn)證是否是合法的ipv4地址,如果是,函數(shù)返回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)運(yùn)行結(jié)果:

validators.ip_address.ipv6(value)
驗(yàn)證是否是合法的ipv6地址,如果是,函數(shù)返回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)運(yùn)行效果:

validators.length(value, min=None, max=None)
驗(yàn)證給定的字符串長(zhǎng)度是否在指定范圍內(nèi)。
示例代碼:
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)運(yùn)行結(jié)果:

validators.mac_address(value)
驗(yàn)證是否是合法的mac地址,如果是,函數(shù)返回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)運(yùn)行結(jié)果:

validators.url(value, public=False)
驗(yàn)證是否是合法的url,如果是,函數(shù)返回True, 否則返回 ValidationFailure.
Parameters:
- value – 要驗(yàn)證的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)運(yùn)行結(jié)果:

到此這篇關(guān)于python中validators庫(kù)的使用方法詳解的文章就介紹到這了,更多相關(guān)python validators庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 申請(qǐng)內(nèi)存空間,用于創(chuàng)建多維數(shù)組的實(shí)例
今天小編就為大家分享一篇python 申請(qǐng)內(nèi)存空間,用于創(chuàng)建多維數(shù)組的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12
pandas中concat函數(shù)實(shí)現(xiàn)橫向連接
在pandas中,concat函數(shù)可用于合并不同的Series和DataFrame對(duì)象,本文主要介紹了pandas中concat函數(shù)實(shí)現(xiàn)橫向連接,具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04
Python批量修改xml的坐標(biāo)值全部轉(zhuǎn)為整數(shù)的實(shí)例代碼
這篇文章主要介紹了Python批量修改xml的坐標(biāo)值全部轉(zhuǎn)為整數(shù)的實(shí)例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
Pytorch如何把Tensor轉(zhuǎn)化成圖像可視化
這篇文章主要介紹了Pytorch如何把Tensor轉(zhuǎn)化成圖像可視化問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
Python中bytes字節(jié)串和string字符串之間的轉(zhuǎn)換方法
python中字節(jié)字符串不能格式化,獲取到的網(wǎng)頁(yè)有時(shí)候是字節(jié)字符串,需要轉(zhuǎn)化后再解析,下面這篇文章主要給大家介紹了關(guān)于Python中bytes字節(jié)串和string字符串之間的轉(zhuǎn)換方法,需要的朋友可以參考下2022-01-01

