[스위프트3] 주민번호 체크

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    /// 주민번호 벨리데이션 체크
    ///
    /// - Parameters:
    ///   - front: 앞자리 6자리
    ///   - rear: 뒤 7자리
    /// - Returns:
    static func isJumin(front: String, rear: String) -> Bool{
        if front.length < 6 {
            return false
        }
        if rear.length < 7 {
            return false
        }
        
        var chk = 0
        for i in 0..<6 {
            var str: String = substring(text: front, start: i, end: i+1)
            chk = chk + (((i % 8) + 2) * Int(str)!)
            
        }
        for i in 6..<12 {
            var str: String = substring(text: rear, start: i-6, end: i-5)
            chk = chk + (((i % 8) + 2) * Int(str)!)
        }
        
        chk = 11 - (chk % 11)
        chk = chk % 10
        if (chk != Int(substring(text: rear, start: 6, end: 7))) {
            return false
        }
        return true
    }
cs

댓글

이 블로그의 인기 게시물

[SpringBoot] Mybatis 다중 Database Setting

[스위프트3] DateString을 기존 format에서 새로운 format으로 변경

[스위프트3] URLEncoding/Decoding