我有一个小问题,我试着为PHP做我自己的密码regex。
这是我的表达:
/([a-zA-Z]+[0-9]+[!?]+)/在它匹配之后,它停止了,例如a1?是第一个匹配,a2!是第二个匹配,但是我希望它匹配整个字符串:
a1?a2!在那之后,我尝试了这样的表达:
/([a-zA-Z]+[0-9]+[!?]+){6,12}/然而,它与任何东西都不匹配。
发布于 2016-08-26 09:26:34
请注意,您的/([a-zA-Z]+[0-9]+[!?]+){6,12}/正则表达式匹配1+字母、1+数字和1+ !或?符号的6到12个序列。
实际上,您希望匹配一个或更多这样的序列,然后只使用一个+量词:
'/^(?:[a-zA-Z]+[0-9]+[!?]+)+$/D' 由于您需要验证模式,所以我认为您需要匹配整个字符串,因此需要锚定^和$,并使用/D修饰符不允许尾随\n。
发布于 2016-08-26 09:39:13
这个正则表达式将为您的密码"a1?a2!“-
((?=.a-zA-Z)(?=.\d)(?=.?!)(?=.a-zA-Z)(?=.\d)(?=.?!).{6,20})
但你应该用标准密码,比如-
^(?=.a-z)(?=.A-Z)(?=.\d)(?=.$@$!%_?&)A-Za-z\d$@$!%_?&{8,}
此正则表达式用于:至少8个字符,至少1个大写字母,1个小写字母,1个数字和1个特殊字符
https://stackoverflow.com/questions/39162675
复制相似问题