表达式不适用于下划线但包括在内

时间:2016-01-19 07:07:33

标签: javascript regex

密码条件

  1. 最小长度应为7
  2. 必须包含至少一个大写字母
  3. 必须包含至少一个数字
  4. 必须包含至少一个特殊字符
  5. /^(?=.{7,50}$)(?=.*[0-9])(?=.*[!@#$%^&*_])(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9!@#$%^&*_].*/

    它适用于密码Mouse @ 123但不适用于Mouse_123

1 个答案:

答案 0 :(得分:1)

你的正则表达式可以简化为:

/^(?=.*\d)(?=.*[!@#$%^&_])(?=.*[A-Z])[a-zA-Z\d!@#$%^&_]{7,50}$/

你不需要(?=.*{7,50}$)前瞻,因为这也可以在外面完成。除了要求至少一封小写字母不在你的问题中。