python中validators庫的使用方法詳解
前言
首先安裝validators庫:
pip install validators
validators.between(value, min=None, max=None)
驗(yàn)證一個數(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是否是一個有效域。如果value是一個有效域名,函數(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)證給定的字符串長度是否在指定范圍內(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庫的使用方法詳解的文章就介紹到這了,更多相關(guān)python validators庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python程序自動以管理員權(quán)限運(yùn)行的實(shí)現(xiàn)方法
Windows上為了安全起見,python語言啟動的應(yīng)用程序默認(rèn)都不會使用admin管理員權(quán)限,但是在有些情況下我們又需要使用管理員權(quán)限啟動應(yīng)用,這篇文章主要給大家介紹了關(guān)于Python程序自動以管理員權(quán)限運(yùn)行的實(shí)現(xiàn)方法,需要的朋友可以參考下2023-11-11關(guān)于Python中進(jìn)度條的六個實(shí)用技巧分享
在項(xiàng)目開發(fā)過程中加載、啟動、下載項(xiàng)目難免會用到進(jìn)度條,下面這篇文章主要給大家介紹了關(guān)于Python中進(jìn)度條的六個實(shí)用技巧,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04Python黑魔法Descriptor描述符的實(shí)例解析
與迭代器和裝飾器等一樣,描述符也是Python編程中的一項(xiàng)高級技巧,這里我們就來講解Python黑魔法Descriptor描述符的實(shí)例解析:2016-06-06Android申請相機(jī)權(quán)限和讀寫權(quán)限實(shí)例
大家好,本篇文章主要講的是Android申請相機(jī)權(quán)限和讀寫權(quán)限實(shí)例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2022-02-02使用sklearn進(jìn)行對數(shù)據(jù)標(biāo)準(zhǔn)化、歸一化以及將數(shù)據(jù)還原的方法
今天小編就為大家分享一篇使用sklearn進(jìn)行對數(shù)據(jù)標(biāo)準(zhǔn)化、歸一化以及將數(shù)據(jù)還原的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07