# Django 5.2 documentation

# Source code for django.contrib.auth.validators

    import re

    from django.core import validators
    from django.utils.deconstruct import deconstructible
    from django.utils.translation import gettext_lazy as _

    @deconstructible
    class ASCIIUsernameValidator(validators.RegexValidator):
        regex = r"^[\w.@+-]+\Z"
        message = _(
            "Enter a valid username. This value may contain only unaccented lowercase a-z "
            "and uppercase A-Z letters, numbers, and @/./+/-/_ characters."
        )
        flags = re.ASCII

    @deconstructible
    class UnicodeUsernameValidator(validators.RegexValidator):
        regex = r"^[\w.@+-]+\Z"
        message = _(
            "Enter a valid username. This value may contain only letters, "
            "numbers, and @/./+/-/_ characters."
        )
        flags = 0