我正在使用角电抗形式。在formGroup的formControl中,我用一个不能正常工作的Regex设置了Validator.pattern,我不知道为什么。我已经在https://www.regextester.com/99144这个网站上验证了正则表达式,可以对其进行检查并正常运行
正则表达式(至少八个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符)
pattern = new RegExp(/^(?=\S*[a-z])(?=\S*[A-Z])(?=\S*\d)(?=\S*[^\w\s])\S{8,}$/gm)
这是formGroup
this.trocarASenhaForm = this.fb.group({
UserId: [''],
SenhaAtual: ['', [Validators.required, ]],
NovaSenha: ['',[Validators.required, Validators.pattern(this.pattern)]],
ConfirmaSenha: ['',[Validators.required, Validators.pattern(this.pattern)]]
},{ validator: this.checkPasswords })
因此,当我键入例如“ World @ 20”时,它验证为true,但是当我开始键入“ World @ 201”时,它验证为false,并且可以插入。 “ World @ 2010”再次验证为真,“ World @ 20100”再次验证为真