Regex Django-使用正则表达式检查整数必须以9开头,长度为10
我的错在哪里Regex Django-使用正则表达式检查整数必须以9开头,长度为10,regex,django,Regex,Django,我的错在哪里 mobile = forms.IntegerField( label='Mobile', widget=forms.NumberInput(attrs={ 'class': 'form-control', 'required': 'required' }), error_messages={ 'invalid': 'Required', } ) def clean_mobile(self):
mobile = forms.IntegerField(
label='Mobile',
widget=forms.NumberInput(attrs={
'class': 'form-control',
'required': 'required'
}),
error_messages={
'invalid': 'Required',
}
)
def clean_mobile(self):
mobile = self.cleaned_data['mobile']
if not re.match('^((?!([0-8]))[0-9]{9})$', str(mobile)):
self.add_error('mobile', 'Wrong number')
return mobile
始终返回
False
在正则表达式中,您正在查找输入字符串开头不在范围[0-8]
内的数字,该字符串字面意思是9
。负先行断言然后将光标返回到第一个字符之前的位置。然后查找9位数字和字符串末尾,该字符串在10位数字上立即失效
试试这个:
^9\d{9}$
在正则表达式中,您要查找的数字不在输入字符串开头的
[0-8]
范围内,该字符串的字面意思是9
。负先行断言然后将光标返回到第一个字符之前的位置。然后查找9位数字和字符串末尾,该字符串在10位数字上立即失效
试试这个:
^9\d{9}$
你的意见是什么?长度明显为
9
。请尝试^9[0-9]{9}$
@revo问题已更新。@revo它成功了。tnx。可以作为答案提交吗?您的意见是什么?长度明显为9
。请尝试^9[0-9]{9}$
@revo问题已更新。@revo它成功了。tnx。可以作为答案提交吗?前9个长度为10。它起作用了。谢谢,伙计,前9个长度是10。它起作用了。谢谢你,伙计。