这个正则的长度如何计算的?
/^(?=.*[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)
限制了必须要有数字。
你的不解主要是对?=
的不理解,这个看一下他的说明,你应该就明白了。
以上是 这个正则的长度如何计算的? 的全部内容, 来源链接: utcz.com/a/69664.html