我需要验证密码,它应该具有以下要求:
请帮我这样做..任何建议都会有很大的帮助。 谢谢
答案 0 :(得分:0)
迭代字符串。如果字符是大写,则将bool isUppercase设置为true ...如果character是特殊字符,则将bool isSpecialCharacter设置为true。如果此字符与前一个字符之间的差异为1,那么您有两个连续的字符,然后您可以停止迭代(将bool hasConsecutiveCharacters设置为true)。
关于连续字符的事情是,如果其中一个是特殊字符,那么它们实际上不是连续的(在ASCII表中考虑'Z'和'['在彼此旁边)。
在迭代检查所有布尔值是否为真且没有连续字符之后。
答案 1 :(得分:0)
如果真的想要一个正则表达式,你将不得不使用断言:
/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[\W\D\S]).{8,}$/
现在,困难的部分是没有连续的角色。我建议使用循环而不是使用正则表达式来实现它(实际上,我不知道如何使用正则表达式执行此操作)。