这个正则的长度如何计算的?

/^(?=.*[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

回到顶部