我正在使用角度反应形式。在 formGroup 的 formControl 中,我用一个无法正常工作的正则表达式设置了 Validator.pattern,我不明白为什么。我已经在这个网站https://www.regextester.com/99144上验证了正则表达式,检查它并且它工作正常
正则表达式(最少八个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符)
pattern = new RegExp(/^(?=\S*[a-z])(?=\S*[A-Z])(?=\S*\d)(?=\S*[^\w\s])\S{8,}$/gm)
这是表单组
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”时,它验证为真,但是当我开始输入“World@201”时,它验证为假,并且它是可插入的。“World@2010”再次验证为真,“World@20100”验证为假,以此类推