Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 烧瓶Wtf正则表达式和长度验证don';行不通 类检查用户名(烧瓶表单): username=StringField('username',[Length(min=5,max=20),Regexp('[0-9A-Za-z!]+'),DataRequired('Required'))_Python_Flask_Flask Wtforms - Fatal编程技术网

Python 烧瓶Wtf正则表达式和长度验证don';行不通 类检查用户名(烧瓶表单): username=StringField('username',[Length(min=5,max=20),Regexp('[0-9A-Za-z!]+'),DataRequired('Required'))

Python 烧瓶Wtf正则表达式和长度验证don';行不通 类检查用户名(烧瓶表单): username=StringField('username',[Length(min=5,max=20),Regexp('[0-9A-Za-z!]+'),DataRequired('Required')),python,flask,flask-wtforms,Python,Flask,Flask Wtforms,我想接受数字、字符和下划线(如admin)之间的用户名组合,并拒绝最小长度为5、最大长度为20的用户名(如),但验证不起作用,我如何修复它?尝试如下更改代码: username = StringField('Username', validators=[Length(min=5, max=20),Regexp('[0-9A-Za-z_]+'),DataRequired('Required')]) ("[0-9A-Za-z_']+") 或者像这样: username = StringField

我想接受数字、字符和下划线(如
admin
)之间的用户名组合,并拒绝最小长度为5、最大长度为20的用户名(如
),但验证不起作用,我如何修复它?

尝试如下更改代码:

username = StringField('Username', validators=[Length(min=5, max=20),Regexp('[0-9A-Za-z_]+'),DataRequired('Required')])
("[0-9A-Za-z_']+")
或者像这样:

username = StringField('Username', [validators.Length(min=5, max=20), validators.Regexp('[0-9A-Za-z_]+'), validators.DataRequired('Required')])
如果您想要
接受为用户名,您可以如下更改正则表达式:

username = StringField('Username', validators=[Length(min=5, max=20),Regexp('[0-9A-Za-z_]+'),DataRequired('Required')])
("[0-9A-Za-z_']+")
这意味着您接受方括号中的一组字符,
+
表示前面的字符重复一次或多次

如果您只想接受管理员,管理员“”您可以尝试以下方法:

`("[0-9A-Za-z_]+'*")`
  • [0-9A-Za-z!]+
    :接受方括号中的一组字符,重复一次或多次
  • “*
    :接受上述字符后的
    字符,重复0次或更多次

  • 错误存在于第三种情况中。管理员“”不应接受。接受第三个字符串。因此,您要接受输入admin“”,请尝试编辑的版本。我希望它不接受此字符串(admin“”)。但是从A到z的单词开始,然后是我不想看到的字符。这就是问题所在。很抱歉,我的英语尝试向您的代码中添加
    验证器
    关键字以使其正常工作。