IOS application/Swift

16. Normalization 정규화 - 규칙이 있는 String

개발자킹콩 2021. 5. 22. 10:13

다양한 페이지에서 String에 조건을 주고 싶을때 정규화를 사용할 것이다.

이때 정규화는 어떻게 구성되는 지를 설명하겠다.

 

class Normalization {
    // 회원가입, 로그인 등 Normalization의 모든 검증을 하는 type method
    static func isValidRegEx(regExKinds: String?, objectString: String?) -> Bool {
        guard regExKinds != nil, objectString != nil else { return false }

        var regEx: String = ""
        switch regExKinds {
        case "name": regEx = "^[가-힣]{2,10}$"
        case "birth": regEx = "^[0-9]{8}$"
        case "phone": regEx = "^010([0-9]{8})$"
        case "id": regEx = "^[A-Za-z0-9]{4,14}$"
        case "password": regEx = "^[A-Za-z0-9]{8,22}$"
//        case "password": regEx = "[A-Za-z0-9!_@$%^&+=]{8,22}"
        case "nickName": regEx = "^[가-힣]{5,10}$"
        default:
            return false
        }
        
        let pred = NSPredicate(format:"SELF MATCHES %@", regEx)
        return pred.evaluate(with: objectString)
    }
}

 

다양한 페이지에서 사용하기에 간편한 type method로 사용했고, 어떤 text 종류에 따른 normalization string을 구현하면 된다.

 


 

한글: [가-힣]

숫자: [0-9]

영어대문자: [A-Z] 

영어소문자: [a-z]

영어: [A-Za-z]

{8}: 8개 지정

{2, 10}: 2개이상 10개이하

^ : 시작을 나타냄

$ : 끝을 나타냄

'IOS application > Swift' 카테고리의 다른 글

18. UITextField underline  (0) 2021.05.25
17. currentFirstResponder  (0) 2021.05.24
15. 이용약관 동의 페이지  (0) 2021.05.21
14. Color Literal  (0) 2021.05.19
13. When viewDidAppear and viewWillAppear are not called.  (0) 2021.05.18