不包括'+'和'&'正则表达式中的字符

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

本文关键字:字符 正则表达式 #39+ 不包括 amp      更新时间:2024-02-18

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

  • 8个字符
  • 大写字母
  • 小写字母
  • 一个数字

我现在需要排除两个特定的字符,+&。我不确定在当前的正则表达式中该将该规则插入到哪里。根据我现在的情况,什么是最好的方法?

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

匹配除+&'n 之外的任何内容

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

Regex Demo

由于您的示例是基于前瞻性的,因此现在只添加一个前瞻性来排除&+:是有意义的

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

此处演示

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

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

Regex101演示