排除' +'和'&'正则表达式中的字符

时间:2016-04-07 16:08:14

标签: javascript regex validation client-side-scripting

现在我正在使用客户端密码验证程序来确保它具有:

  • 8个字符
  • 大写字母
  • 小写字母
  • 一个号码

我现在需要排除两个特定字符 + & 。我不确定在我当前的正则表达式中插入此规则的位置。基于我现在拥有的最佳方法是什么?

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

3 个答案:

答案 0 :(得分:3)

匹配除+&\n

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

<强> Regex Demo

答案 1 :(得分:1)

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

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

Demo Here

答案 2 :(得分:0)

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

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

<强> Regex101 Demo