从正则表达式中排除“+”和“&”字符

Excluding '+' and '&' characters from a regular expression

现在我正在开发一个客户端密码验证器,确保具有:

我现在需要排除两个特定字符,+&。我不确定在我当前的正则表达式中的什么地方插入这条规则。根据我现在所拥有的,最好的方法是什么?

/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{8,}$/

由于您的示例是基于前瞻的,因此现在只需添加 negative 前瞻以排除 &+:

/^(?!.*(\+|&))(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{8,}$/

Demo Here

匹配除 +&\n

之外的任何内容
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])[^+&\n]{8,}$

Regex Demo

您不需要排除字符 +&。您只需要提及您想要匹配的内容,即 [A-Za-z0-9]

正则表达式: ^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[A-Za-z0-9]{8,}$

Regex101 Demo