-3
A
回答
5
^(?=.{2,8}$)(?=.*?[A-Za-z0-9])(?=.*?[\W_])[\w\W]+
這個正則表達式允許2到8個字符的密碼。它要求至少有1個字母數字(字母/數字)字符和1個非字母數字字符。你可以測試它here。
如果您想更改所需的最小字符或更高的最大值。只要改變2或8
3
SOLUTION:
-(BOOL)isValidPassword:(NSString *)checkString{
NSString *stricterFilterString = @"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[[email protected]$#!%*?&])[A-Za-z\\[email protected]$#!%*?&]{8,}";
NSPredicate *passwordTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", stricterFilterString];
return [passwordTest evaluateWithObject:checkString];
}
TEST:
NSLog(@"%@", [self isValidPassword:@"[email protected]$235#@df"] ? @"YES" : @"NO");
OUTPUT:
YES
0
夫特3
CHEC k如果密碼長度大於或等於8並且小寫,則爲 大寫字母,十進制數字和特殊字符!@#$%^ & *()_- +爲 可選。
爲什麼我不使用正則表達式?
因爲很難在常規的 表達式語法中支持保留字符。
func isValidated(_ password: String) -> Bool { var lowerCaseLetter: Bool = false var upperCaseLetter: Bool = false var digit: Bool = false var specialCharacter: Bool = false if password.characters.count >= 8 { for char in password.unicodeScalars { if !lowerCaseLetter { lowerCaseLetter = CharacterSet.lowercaseLetters.contains(char) } if !upperCaseLetter { upperCaseLetter = CharacterSet.uppercaseLetters.contains(char) } if !digit { digit = CharacterSet.decimalDigits.contains(char) } if !specialCharacter { specialCharacter = CharacterSet.punctuationCharacters.contains(char) } } if specialCharacter || (digit && lowerCaseLetter && upperCaseLetter) { //do what u want return true } else { return false } } return false } let isVaildPass:Bool = isValidated("Test**00+-") print(isVaildPass)
相關問題
- 1. 密碼驗證的正則表達式
- 2. 密碼驗證的正則表達式
- 3. 密碼驗證的正則表達式
- 4. 密碼驗證的正則表達式?
- 5. 密碼驗證的正則表達式
- 6. 驗證密碼與正則表達式
- 7. 正則表達式驗證密碼
- 8. 正則表達式驗證密碼 - Codewars
- 9. PHP正則表達式驗證密碼
- 10. 密碼正則表達式驗證
- 11. 密碼驗證(正則表達式?)
- 12. 密碼正則表達式驗證?
- 13. 蟒正則表達式密碼驗證
- 14. 正則表達式密碼驗證angularjs
- 15. 使用正則表達式驗證密碼的敲除驗證
- 16. 密碼驗證的正則表達式語法從密碼
- 17. 正則表達式表達不工作的密碼驗證
- 18. JQuery驗證正則表達式密碼驗證
- 19. 密碼驗證的正則表達式的Android
- 20. 複雜的密碼驗證的單正則表達式
- 21. 在asp.net mvc的密碼驗證的正則表達式
- 22. 不允許空格的密碼驗證的正則表達式
- 23. Angualr2驗證號碼正則表達式
- 24. 使用JavaScript進行密碼驗證的正則表達式
- 25. 大廈密碼驗證的正則表達式動態
- 26. 使用正則表達式的Javascript密碼驗證
- 27. 密碼驗證的正則表達式C#
- 28. 正則表達式中的Java密碼驗證
- 29. 用於密碼驗證的Java正則表達式
- 30. 爲密碼驗證的正則表達式
你要允許'>'?你試過了什麼? – 2014-10-17 10:52:32
簡單使用字符範圍長度並使用NSScanner進行字符串搜索,查找哪種類型的字符是否存在。 – Tirth 2014-10-17 10:54:08
是的。我們允許任何特殊字符。 – iSuresh 2014-10-17 10:54:50