[스위프트3] 외국인 번호 체크

sherwher(29)
Published in
#swift
Words
0
Reading
0 min
8y
Listen to this post
~1 min
     static func isForeigner(front: String, rear: String) -> Bool{
        if front.length < 6 {
            return false
        }
        if rear.length < 7 {
            return false
        }
        
        if substring(text: rear, start: 1, end: 7) == "000000"{
            return true
        }
        
        var sum = 0
        if substring(text: rear, start: 0, end: 1) != "5" &&
            substring(text: rear, start: 0, end: 1) != "6" &&
            substring(text: rear, start: 0, end: 1) != "7" &&
            substring(text: rear, start: 0, end: 1) != "8" {
            return false
        }
        if Int(substring(text: rear, start: 1, end: 3))! % 2 != 0 {
            return false;
        }
        let full: String = front + rear
        for i in 0..<12 {
            sum += Int(substring(text: full, start: i, end: i+1))! * ((i % 8) + 2)
        }
        
        if (((11 - (sum % 11)) % 10 + 2) % 10 ) == Int(substring(text: full, start: 12, end: 13)) {
            return true;
        }
        
        return false
    }