regex - 我的角度应用程序中的密码需要正则表达式
问题描述
以下密码条件需要正则表达式:1 个大写字母、1 个小写字母、1 个特殊字符、1 个数字、除字母数字和特殊字符外没有其他字符,最小长度为 8,最大长度为 30
解决方案
我们可以通过前瞻来做到这一点:
^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[+-_*%#!$/\\"'`])[a-zA-Z0-9+-_*%#!$/\\"'`]{4,30}$
解释:
^[a-zA-Z0-9+-_*%#!$/\\"'``]{4,30}$
限制字符的长度和类型(?=....)
是前瞻(?=.*[A-Z])
确保至少有一个大写字符(?=.*[0-9])
确保至少有一个数字- 依此类推,另外两个前瞻用于小写字符和特殊字符
演示在这里。
推荐阅读
- python - 如果主题名称包含汤中不匹配的特殊字符,如何遍历所有主题名称
- laravel - ErrorException 未定义变量:插件
- mongodb - MongoDB查询以获取匹配条件的记录数
- maven - 为什么从github克隆MAVEN的源代码却发现缺少一些类文件
- python - 从 pandas DataFrame 中的日期时间列中提取月份
- bash - Bash 脚本将无整数变量转换为整数
- c# - 如何在 NUnit C# 中只运行一次该方法
- java - 使用junit5 + springboot 2.5.4进行单元测试
- c - 由于 scanf 功能,我的代码花费了很多时间,之后它甚至没有运行
- node.js - 多个查找阶段,展开和匹配,并根据查找阶段的字段显示反应(但该字段存在于所有查找阶段)