我需要驗證密碼,它應該有以下要求:請幫我約預浸匹配驗證
- 密碼長度應該至少有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