密码策略生成所需的正则表达式

时间:2015-12-01 10:01:07

标签: javascript regex validation

我想验证具有以下验证的字符串:

  • 长6到20个字符
  • 一个小写字符
  • 一个大写字符
  • 一个特殊字符
  • 一个数字字符
  • 不允许连续3个或3个以上的字母
  • 不允许3个或3个以上的连续数字

我创建了一个表达式

var regex=/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20}$/;

仅满足以下验证:

  • 长6到20个字符
  • 一个小写字符
  • 一个大写字符
  • 一个数字字符

需要帮助来创建表达式以进行以下3次验证:

  • 一个特殊字符
  • 不允许连续3个或3个以上的字母
  • 不允许3个或3个以上的连续数字

1 个答案:

答案 0 :(得分:0)

^(?=.*\d)(?=.*[^a-zA-Z0-9\s])(?=.*[a-z])(?=.*[A-Z])(?!.*([a-zA-Z0-9])\1\1).{6,20}$

您可以为同一个添加lookahead。参见演示。

https://regex101.com/r/hE4jH0/15