Мне нужно regexfield в форме django, чтобы принимать только буквы и цифры, и ничего больше. Я пробовал это, но это не сработало:
myfield = forms.RegexField(label=("My Label"), max_length=31, regex=r'[a-zA-Z0-9]',
error_message = ("This value must contain only letters and numbers."),
Я не очень хорошо использую регулярные выражения. Можете ли вы сказать мне, что я делаю неправильно здесь и как это исправить?
регулярное выражение = г '[A-Za-Z0-9]',
Это одна буква.
Вам нужно больше одного письма? Затем используйте повтор
регулярное выражение = г '[A-Za-Z0-9] +,
Существует множество руководств по регулярным выражениям. Пожалуйста, зайдите в Google для "Регулярного выражения".
regex=r'^[a-zA-Z0-9]+$',
это будет принимать только буквы и цифры и потребует хотя бы одного символа
Что вы подразумеваете под словом "это не сработало"? Можете ли вы более конкретно?
"Ошибка", которую я могу сразу заметить, заключается в том, что он принимает только один символ. Вам не хватает повторения в аргументе regex
. Попробуйте добавить *
или +
в конец (подробнее см. Документацию модуля python re
).
^
и$
. «Я сделал Google для этого». Тогда продолжай пытаться. Есть хорошие учебники, которые помогут вам.