使用正则表达式进行角度模式验证

尼古拉斯

我需要做一个密码模式验证器

密码应具有:

  • 1个大写字母
  • 1个小写字母
  • 一个号码
  • 最小长度为8。

我发现此正则表达式模式:

Validators.pattern('/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d!$%@#£€*?&]')

但是,验证器始终声称我的输入无效

errors:    
   pattern:
      actualValue: "Test1234"
      requiredPattern: "^/^(?=.*[A-Za-z])(?=.*d)[A-Za-zd!$%@#£€*?&]$"

根据https://regex101.com/r/AfAdKp/1,该值应该是有效的。

编辑:澄清,Test1234应该工作

革命

您当前的正则表达式存在多个问题:

  1. 您的正则表达式没有字符类的量词
  2. Validators.pattern 不需要定界符,但您一开始就扔了
  3. 您应该将转义令牌加倍。

您需要的是:

Validators.pattern('^(?=[^A-Z]*[A-Z])(?=[^a-z]*[a-z])(?=\\D*\\d)[A-Za-z\\d!$%@#£€*?&]{8,}$');

在这里观看现场演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章