我正在尝试检查用户插入的密码,在PHP网站上工作。 我的支票要:
在此之前我已经能够找到正确的表达式,但现在我想添加另一条规则,其中用户不能写出超过1次的相同字母序列。
假设不考虑重复两次相同的字母,如果用户写入相同的字符串(等于或多于3个字符),则应该不匹配。
例如:
更多示例(更新):
有什么建议吗?
我不知道是否可以写下正确的RegExp,也许我正在尝试做一些不可能的事情。
在离开这个想法之前,我很想检查一下在RegExp中了解我的人的意见
提前致谢
答案 0 :(得分:1)
^(?!.*?(.+)\1)([\w@+$!.-]+){8,20}$
似乎运作良好:http://regex101.com/r/cU9lD0/1
棘手的部分是^(?!.*?(.+)\1)
,它读取"输入的开始,当没有后跟:某些东西,然后是一些子串,然后又是子串再次#34;。
话虽如此,所有"密码验证"是一个毫无意义的企业,实际上阻止人们使用really good passwords。