0

我正在使用角度反应形式。在 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”验证为假,以此类推

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

0 回答 0