我想弄清楚如何制作特殊的字符。(仅限选定的)以下正则表达式中的可选:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[[\]{};:=<>_+^#$@$!%*?&])[A-Za-z\d[\]{};:=<>_+^#$@$!%*?&]{8,30}
Run Code Online (Sandbox Code Playgroud)
上面的正则表达式检查该集合中是否至少有 1 个数字、1 个大写字母、1 个小写字母和 1 个特殊字符: [[]{};:=<>+^#$@$!%*?&
现在我尝试制作特殊的字符。可选,但如果提供,则应来自允许的集合,并且所有其他条件(1 个大写字母、1 个数字、1 个小写字母)应匹配。任何想法,如何使其发挥作用?
您可以从正则表达式中删除此前瞻:
(?=.*[[\]{};:=<>_+^#@$!%*?&])
Run Code Online (Sandbox Code Playgroud)
此断言强制您的正则表达式中至少存在一个特殊字符。
你的正则表达式将变成:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d[\]{};:=<>_+^#$@!%*?&]{8,30}$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2553 次 |
| 最近记录: |