用户名验证

username-validator的Python项目详细描述


用户名验证

django-registration提取的用于django应用程序外部的用户名验证方法(不依赖django)。

James Bennett的postLet’s talk about usernames很好地描述了为什么以及如何执行用户名验证。

这个库执行保留名称检查和confusable homohomoglyph检查。

用法

如果名称是可混淆或保留的,则将抛出Exception

所有支票

from username_validator import UsernameValidator

# checks both reserved names and confusable
UsernameValidator().validate_all("myname")

仅可混淆检查

from username_validator import UsernameValidator

UsernameValidator().validate_confusables_email("myname@something.com")
UsernameValidator().validate_confusables('j\u0430ne_doe') # will throw exception

仅保留姓名检查

from username_validator import UsernameValidator

UsernameValidator().validate_reserved("myname")

自定义保留列表

您可以使用特定于域的名称添加到保留列表或完全替换它。默认列表分为多个类别并公开,因此您可以根据需要进行选择。

使用我们的自定义名称扩展保留列表

UsernameValidator(additional_names=["myspecialname", "myothername"]).validate_reserved("myname")

将默认列表替换为子集

from username_validator import UsernameValidator, PROTOCOL_HOSTNAMES, SENSITIVE_FILENAMES

UsernameValidator(reserved_names=(PROTOCOL_HOSTNAMES + SENSITIVE_FILENAMES)).validate_all("my_name")

学分

这段代码几乎是django-registration的直接复制粘贴,删除了django实用程序方法。感谢James Bennett的出色工作。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java调用Python函数作为TEID中的UDF   java Android。支持v4导入不工作   java如何影响具有静态属性的类   java如何在从glTexImage2D()分配后编辑纹理的像素颜色   javaspringboot+rediscache+@Cacheable适用于某些方法,而不适用于其他方法   java无法将动态Web模块方面从3.0更改为2.5   java如何在新选项卡中显示打印的文档?   java Google Cloud Endpoints API方法仅在删除用户参数时成功调用   java为什么我可以使用Stack<Double>但不能使用Stack<Double>?   java JDBC PreparedStatement似乎忽略了占位符   java如何设置JInternalFrame的标准图标化位置?   Java文件。copy()不复制文件   基于另一个类的java显示arraylist?   java Android Studio:错误:非法字符:'\u2028'   对象(Java)无法实例化类型映像?   javascript错误:飞行前响应的HTTP状态代码401无效   java确保泛型vararg参数具有相同的类型