使用特定集中的可选特殊字符进行密码验证的正则表达式

问题描述 投票:-2回答:1

我想弄清楚如何制作特殊的炭。 (仅限选定的)可在以下正则表达式中选择:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[[\]{};:=<>_+^#$@$!%*?&])[A-Za-z\d[\]{};:=<>_+^#$@$!%*?&]{8,30} 

在正则表达式上方检查此集合中是否至少有1个数字,1个大写,1个小写和1个特殊字符:[[] {};:= <> + ^#$ @ $!%*?&

现在我尝试制作特殊的字符。可选但如果提供它应该来自允许的集合,所有其他条件(1个大写,1个数字,1个小写)应该匹配。任何想法,如何使这项工作?

javascript regex
1个回答
1
投票

您可以从正则表达式中删除此前瞻:

(?=.*[[\]{};:=<>_+^#@$!%*?&])

此断言强制在正则表达式中至少存在一个特殊字符。

你的正则表达式将成为:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d[\]{};:=<>_+^#$@!%*?&]{8,30}$

RegEx Demo

© www.soinside.com 2019 - 2024. All rights reserved.