Django RegexField Только буквы и цифры - PullRequest
3 голосов
/ 30 сентября 2010

Мне нужно поле регулярных выражений в форме 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."),

Я не очень хорош в использовании регулярных выражений. Можете ли вы сказать мне, что я делаю здесь неправильно и как это исправить?

Ответы [ 3 ]

7 голосов
/ 30 сентября 2010

regex = r '[a-zA-Z0-9]',

Является ли одна буква.

Хотите более одной буквы?Затем используйте повтор

regex = r '[a-zA-Z0-9] +',

. Есть множество учебных пособий по регулярным выражениямПожалуйста, Google для "Учебник регулярных выражений."

3 голосов
/ 21 марта 2011
regex=r'^[a-zA-Z0-9]+$',

это будет принимать только буквы и цифры и потребует как минимум один символ

0 голосов
/ 30 сентября 2010

Что вы подразумеваете под "это не сработало"?Можете ли вы быть более конкретным?

"Ошибка", которую я могу сразу заметить, заключается в том, что она будет принимать только одного персонажа.Вам не хватает повторения в аргументе regex.Попробуйте добавить * или + в конце (подробности см. В документации к модулю re в python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...