/^(?=.*[a-zA-Z])(?=.*d)w{6,22}$/gi
意思是 6-22为密码 至少有一个字母一个数字
比如a11111也能通过
不过我以为a11111不可以 因为往前看一个字母a 一个数字1 剩下4位1111 不满足长度为6
为什么呢?
这个正则的主要部分是w{6,22},匹配6-22位的字母、数字、下划线。而前面的(?=.*[a-zA-Z])(?=.*d)是在这个基础上做限制的,第一个(?=.*[a-zA-Z])限制了必须要有字母,第二个(?=.*d)限制了必须要有数字。
w{6,22}
(?=.*[a-zA-Z])(?=.*d)
(?=.*[a-zA-Z])
(?=.*d)
你的不解主要是对?=的不理解,这个看一下他的说明,你应该就明白了。
?=
2.1m questions
2.1m answers
60 comments
57.0k users