为什么我的regex
也接受信件?例如:
123abc - 不工作(不显示错误信息)
test = forms.RegexField(
max_length=15,
regex=r'^[0-9\-\+_ ]',
error_message=_(u"Only digits0-9 and +, _, -"),
required=True,
label=_(u'Test'))
它应该接受由0-9和这些特殊字符组成的字符串:+,_, - ,“”(空格)
答案 0 :(得分:4)
你的正则表达式只测试字符串的开头 - 实际上它只测试字符串的第一个字符。如果您想要在整个字符串中使用[0-9\-\+_ ]
,那么请在最后添加+$
:
regex=r'^[0-9\-\+_ ]+$'
这表示整个字符串从头到尾只允许包含方括号内的字符。