我需要验证密码,它应该有以下要求:请帮我约预浸匹配验证
- 密码长度应该至少有8个字符
- 密码应至少有1大写字母,1小写字母,数字,并且一个特殊字符
- 密码应该没有继续字符(例如:12345或ABCD)
请帮我做到这一点..任何建议,将是一个很大 帮帮我。 谢谢
我需要验证密码,它应该有以下要求:请帮我约预浸匹配验证
请帮我做到这一点..任何建议,将是一个很大 帮帮我。 谢谢
迭代字符串。如果字符是大写,则将bool isUppercase设置为true ...如果字符是特殊字符,则将bool isSpecialCharacter设置为true。如果这个字符和前一个字符之间的差别是1,那么你有两个连续的字符,你可以停止迭代(然后设置bool hasConsecutiveCharacters为true)。
事情大约连续字符是,如果其中之一是特殊字符那么他们是不是真的连续的(考虑“Z”和“[”是在ASCII表中彼此相邻)。
迭代后,检查是否所有布尔是真实的,有没有连续的字符。
感谢您的建议。 – Mel 2010-10-31 13:44:03
没有必要感谢我,我是为了点和荣耀而做的:)我增加了一个音符。如果这是对您的问题的回答,请考虑将其标记为答案。 – Dialecticus 2010-10-31 14:19:52
如果你真的想这一个正则表达式,你必须使用断言:
/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[\W\D\S]).{8,}$/
现在,最困难的部分是不连续的字符。我建议用循环来做,而不是用正则表达式来做(实际上,我不知道如何用正则表达式来做)。
“有些人,当遇到一个问题,认为‘我知道,我将使用正则表达式。’现在他们有两个问题。“ – joschi 2010-10-31 13:11:00