Разумный PasswordStrengthRegularExpression

Вот то, что я придумал, избрал и сжато для краткости:

from django.contrib.gis.db.models import Model, TextField
from django import forms

class Recipe(Model):
    source = TextField(null=False, blank=True)
    ...

class AsTextFileInput(forms.widgets.FileInput):
    def value_from_datadict(self, data, files, name):
        return files.get(name).read()

class RecipeForm(forms.ModelForm):
    class Meta:
        model = Recipe
        fields = ('source', ...)
        widgets = {'source': AsTextFileInput(), ...}
11
задан Richard Everett 19 January 2009 в 14:46
поделиться

2 ответа

Вот regex, который позволяет все символы и требует по крайней мере одного числа и требования по крайней мере 6 символов.

^.*(?=.{6,})(?=.*\d).*$

Если Вы хотите более или менее символы, определенные, просто изменяются (?=.{6,}) для отражения количества символов, Вы хотите как минимум.

16
ответ дан 3 December 2019 в 00:49
поделиться

Мы только что реализовали следующее выражение для проверки pwd от 8 до 16 символов и содержат три из следующих 4 элементов: буква верхнего регистра, буква нижнего регистра, символ, число

(?=^[^\s]{8,16}$)((?=.*?\d)(?=.*?[A-Z])(?=.*?[a-z])|(?=.*?\d)(?=.*?[^\w\d\s])(?=.*?[a-z])|(?=.*?[^\w\d\s])(?=.*?[A-Z])(?=.*?[a-z])|(?=.*?\d)(?=.*?[A-Z])(?=.*?[^\w\d\s]))^.*

Описание отдельных компонентов:

  • (? = ^ [^ \ s] {8,16} $) - содержат от 8 до 16 непробельных символов
  • (? =. * ? \ d) - содержит 1 цифру
  • (? =. *? [AZ]) - содержит 1 символ верхнего регистра
  • (? =. *? [az]) - содержит 1 символ нижнего регистра
  • (? = .*? [^ \ w \ d \ s]) - содержит 1 символ

, обратите внимание, что после сегмента длины двойные скобки, а позже в выражении вы увидите несколько |. Это позволяет провести сравнение 4 возможных комбинаций.

Написав это, я заметил, что этот вопрос был задан более года назад. Поскольку я натолкнулся на этот вопрос в своем поиске, надеюсь, что кто-то еще может извлечь выгоду из нашего решения.

41
ответ дан 3 December 2019 в 00:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: