我正在尝试使用正则表达式来满足密码至少 6 个字符的最低要求;1 个大写字母、1 个小写字母和 1 个数字。看起来很容易吗?我没有任何正则表达式“向前看”的经验,所以我会这样做:
if(!pwStr.match(/[A-Z]+/) || !pwStr.match(/[a-z]+/) || !pwStr.match(/[0-9]+/) ||
pwStr.length < 6)
//was not successful
Run Code Online (Sandbox Code Playgroud)
但我想将其优化为一个正则表达式,并在此过程中提高我的正则表达式技能。
^.*(?=.{6,})(?=.*[a-zA-Z])(?=.*\d)(?=.*[!&$%&? "]).*$
Run Code Online (Sandbox Code Playgroud)
这是您可以检查此正则表达式的网站 - http://rubular.com/