Django 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."),
我对正则表达式不是很熟悉。你能告诉我我哪里做错了吗?还有怎么修正它?
3 个回答
0
你说的“没用”具体是什么意思?能不能说得更清楚一点?
我马上就能发现一个“错误”,就是它只接受一个字符。你在regex
这个参数里缺少了重复的部分。试着在最后加一个*
或者+
(具体可以查看Python的re
模块文档了解更多)。
5
regex=r'^[a-zA-Z0-9]+$',
这个规则只允许输入字母和数字,并且至少需要有一个符号。
7
这个正则表达式是:regex=r'[a-zA-Z0-9]',
它表示一个字母。
你想要多个字母吗?那就用重复的写法。
比如:regex=r'[a-zA-Z0-9]+',
关于正则表达式,有很多教程。你可以在网上搜索“正则表达式教程”。