这个RegExp模式/(?=。*。d)(?=。* [az])(?=。* [A-Z])。{6,} /在Javascript中是什么意思?

时间:2017-12-09 02:57:52

标签: javascript regex

这个正则表达式

/(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}/ 

模式旨在匹配有效密码。

我在regexper.com上搜索了答案,这里是link

我知道每个括号中内容的含义,但我不知道为什么这里有括号以及它们如何一起工作..

2 个答案:

答案 0 :(得分:2)

模式(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}断言

  • 6个或更多字符
  • 一个数字
  • 小写字母
  • 一个大写字母

就是这样。

运动部件的说明:

  • (?=.*\d)使用positive lookahead检查数字是否存在。
  • (?=.*[a-z])检查是否存在相同的小费,以查看是否存在小写字母。
  • (?=.*[A-Z]) ..并且还存在大写字母。
  • .{6,} 6+量词是显而易见的。

这里使用前瞻的美妙之处在于它可以轻松(点击)维护密码规则。

答案 1 :(得分:0)

(?=.*\d)这是一个积极的先行,看看数字是否存在

(?=.*[a-z])这是一个积极的先行,看看是否存在小写字母

(?=.*[A-Z])这是一个积极的先行,看看是否存在大写字母

.{6,}这匹配任何字符中的6个或更多

总的来说,它需要一个包含至少一个数字,一个小写字母和一个大写字母的6个或更多字符的字符串。