首页 > 解决方案 > 我的角度应用程序中的密码需要正则表达式

问题描述

以下密码条件需要正则表达式:1 个大写字母、1 个小写字母、1 个特殊字符、1 个数字、除字母数字和特殊字符外没有其他字符,最小长度为 8,最大长度为 30

标签: regex

解决方案


我们可以通过前瞻来做到这一点:

^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[+-_*%#!$/\\"'`])[a-zA-Z0-9+-_*%#!$/\\"'`]{4,30}$

解释:

  • ^[a-zA-Z0-9+-_*%#!$/\\"'``]{4,30}$限制字符的长度和类型
  • (?=....)是前瞻
  • (?=.*[A-Z])确保至少有一个大写字符
  • (?=.*[0-9])确保至少有一个数字
  • 依此类推,另外两个前瞻用于小写字符和特殊字符

演示在这里


推荐阅读